Javascript入門學習第四篇 js對象和數組第1/2頁
2024-05-06 14:17:43
供稿:網友
比較難哦。做好心里準備吧。。。。。。 深呼吸。。。
1 , for / in :
一種遍歷(枚舉)對象屬性的方法,可以循環我們呢事先不知道的屬性。
它可以枚舉處用戶定義的所有屬性,但卻不能枚舉出某些預定義的屬性和方法。
不能枚舉的屬性通常是繼承的屬性
刪除一個對象的屬性:
delete book.width ;
從對象中移除了屬性,在刪除之后,用for/in將不會枚舉該屬性,并且用width in book 也檢測不到該屬性。
for/in 的另一個重要的用途就是跟關聯數組一起使用:(如果忘記關聯數組的定義,可以看前面的章節。)
for(stoct in port ){
value + = get_value(stoct) * port[stoct] ;
}
2 , 通用的Object屬性和方法:
1):constructor屬性:
每個對象都有這個屬性,他引用了初始化這個對象的構造函數。
比如:
var d =new Date(); //使用Date()構造函數,創建一個對象 d;
d.constructor ==Date; //true //屬性d.constructor引用 Date ;
這個屬性有助于確定一個對象的類型;
比如:
我們想確定一個值的類型是否是Date 類型:
If((typeof o==”object” )&& (o.constructor==Date)){
// 首先看是否是對象,然后看是否引用Date
}
上面的代碼也可以寫成:
If((typeof o==”object” )&& (o instanceof Date)){
// instanceof 運算符 來檢測o.constructor 屬性的值。
}
3 , toStirng()和toLocaleString()方法:
1):toLocaleStirng() 返回對象的一個本地化字符串。
toString和toLocaleString一般都返回相同,但在子類中,有點區別:
比如:
Array , Date和Number都定義了返回本地化的值的toLocaleString()方法.
4 , hasOwnProperty()和propertyIsEnumerable()方法:
1):hasOwnProperty
var a = { x : 1 , y : 2};
var k =a.hasOwnProperty("x");
alert(k) //true
alert( Math.hasOwnProperty("z") );//false
alert( Math.hasOwnProperty("cos") );//true
注:Math,cos() : 以弧度為單位計算并返回指定角度的余弦值。
propertyIsEnumerable()跟返回的結果跟hasOwnProperty()相同;
4 ,isPrototypeOf()方法:
如果方法所屬的對象是參數的原型對象。
var a = { x : 1 , y : 2};
var k1= Object.prototype.isPrototypeOf(a); // o.constructor = Object