国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript動態添加、修改、刪除對象的屬性與方法詳解

2019-11-20 21:11:30
字體:
來源:轉載
供稿:網友

現在介紹如何為一個對象添加、修改或者刪除屬性和方法。在其他語言中,對象一旦生成,就不可更改了,要為一個對象添加修改成員必須要在對應的類中修改,并重新實例化,而且程序必須經過重新編譯。JavaScript 中卻非如此,它提供了靈活的機制來修改對象的行為,可以動態添加、修改、刪除屬性和方法。例如首先使用類Object來創建一個空對象user:
var user=new Object();

1.添加屬性
這時user 對象沒有任何屬性和方法,顯然沒有任何用途。但可以為它動態的添加屬性和方法,例如:
user.name=”jack”;
user.age=21;
user.sex=”male”;
通過上述語句,user 對象便具有了三個屬性:name、age和sex。下面輸出這三個語句:
alert(user.name);
alert(user.age);
alert(user.sex);
由代碼運行效果可知,三個屬性已經完全屬于user 對象了。

2.添加方法
添加方法的過程和屬性類似:
user.alert=function(){
alert(“my name is:”+this.name);
}
這就為user 對象添加了一個方法“alert”,通過執行它,可以彈出一個對話框顯示自己的名字介紹:
user.alert();

3.修改屬性
修改一個屬性的過程就是用新的屬性替換舊的屬性,例如:
user.name=”tom”;
user.alert=function(){
alert(“hello,”+this.name);
}
這樣就修改了user 對象name屬性的值和alert方法,它從顯示“my name is”變為了顯示“hello”。

4.刪除屬性
刪除一個屬性的過程也很簡單,就是將其置為undefined:
user.name=undefined;
user.alert=undefined;
這樣就刪除了name屬性和alert方法。在之后的代碼中,這些屬性變的不可用。
在添加、修改或者刪除屬性時,和引用屬性相同,也可以采用方括號([])語法:
user[“name”]=”tom”;
使用這種方式還有一個額外的特點,就是可以使用非標識符字符串作為屬性名稱,例如
標識符中不允許以數字開頭或者出現空格,但在方括號([])語法中卻可以使用:
user[“my name”]=”tom”;
需要注意,在使用這種非標識符作為名稱的屬性時,仍然要用方括號語法來引用:
alert(user[“my name”]);
而不能寫為:
alert(user.my name);
利用對象的這種性質,甚至可以很容易實現一個簡單的哈希表,在本書的后面將會看到其應用。此可見,JavaScript中的每個對象都是動態可變的,這給編程帶來了很大的靈活性,也和其他語言產生了很大的區別,讀者可以體會這種性質。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青岛市| 中宁县| 穆棱市| 旬邑县| 开化县| 花莲市| 民权县| 治多县| 弥勒县| 青州市| 东城区| 镇江市| 福鼎市| 潞西市| 连南| 怀安县| 淮南市| 建阳市| 海原县| 德州市| 高平市| 安图县| 福海县| 柳州市| 海城市| 治多县| 东乡族自治县| 遂川县| 启东市| 普格县| 刚察县| 江达县| 长武县| 赫章县| 扬州市| 阿克陶县| 焉耆| 凭祥市| 南城县| 金沙县| 澄江县|