Javascript入門學(xué)習(xí)第四篇 js對(duì)象和數(shù)組第1/2頁(yè)
更新時(shí)間:2008年07月06日 10:00:06 作者:
上篇文章講了js中的變量,表達(dá)式,和運(yùn)算符 還有一些 js 語(yǔ)句.
這章我們來(lái)探討js中的對(duì)象和數(shù)組。
比較難哦。做好心里準(zhǔn)備吧。。。。。。 深呼吸。。。
1 , for / in :
一種遍歷(枚舉)對(duì)象屬性的方法,可以循環(huán)我們呢事先不知道的屬性。
它可以枚舉處用戶定義的所有屬性,但卻不能枚舉出某些預(yù)定義的屬性和方法。
不能枚舉的屬性通常是繼承的屬性
刪除一個(gè)對(duì)象的屬性:
delete book.width ;
從對(duì)象中移除了屬性,在刪除之后,用for/in將不會(huì)枚舉該屬性,并且用width in book 也檢測(cè)不到該屬性。
for/in 的另一個(gè)重要的用途就是跟關(guān)聯(lián)數(shù)組一起使用:(如果忘記關(guān)聯(lián)數(shù)組的定義,可以看前面的章節(jié)。)
for(stoct in port ){
value + = get_value(stoct) * port[stoct] ;
}
2 , 通用的Object屬性和方法:
1):constructor屬性:
每個(gè)對(duì)象都有這個(gè)屬性,他引用了初始化這個(gè)對(duì)象的構(gòu)造函數(shù)。
比如:
var d =new Date(); //使用Date()構(gòu)造函數(shù),創(chuàng)建一個(gè)對(duì)象 d;
d.constructor ==Date; //true //屬性d.constructor引用 Date ;
這個(gè)屬性有助于確定一個(gè)對(duì)象的類型;
比如:
我們想確定一個(gè)值的類型是否是Date 類型:
If((typeof o==”object” )&& (o.constructor==Date)){
// 首先看是否是對(duì)象,然后看是否引用Date
}
上面的代碼也可以寫成:
If((typeof o==”object” )&& (o instanceof Date)){
// instanceof 運(yùn)算符 來(lái)檢測(cè)o.constructor 屬性的值。
}
3 , toStirng()和toLocaleString()方法:
1):toLocaleStirng() 返回對(duì)象的一個(gè)本地化字符串。
toString和toLocaleString一般都返回相同,但在子類中,有點(diǎn)區(qū)別:
比如:
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() : 以弧度為單位計(jì)算并返回指定角度的余弦值。
propertyIsEnumerable()跟返回的結(jié)果跟hasOwnProperty()相同;
4 ,isPrototypeOf()方法:
如果方法所屬的對(duì)象是參數(shù)的原型對(duì)象。
var a = { x : 1 , y : 2};
var k1= Object.prototype.isPrototypeOf(a); // o.constructor = Object
var k2= Object.prototype.isPrototypeOf(Function); // Function.constructor = Object
alert(k1) //true
alert(k2) //true
5,數(shù)組:
1)創(chuàng)建數(shù)組:
數(shù)組直接量:
var es = [ ] ;
復(fù)雜點(diǎn) var es = [ [ 1, {x:1 , y : 2}] , [ 2, {x:3 , y : 4}] ];
還有一種方式:使用Array() 構(gòu)造函數(shù):
V1 : 無(wú)參數(shù):
var a = new Array();
空數(shù)組,和 var a =[ ] 相等 ;
V2 : 多個(gè)參數(shù):
var a = new Array( 1,2,3,”tt”) ; //可以看出直接量定義 簡(jiǎn)單些。
V3 : 1個(gè)數(shù)字參數(shù):
var a = new Array (3);
具有3個(gè)元素的數(shù)組,每個(gè)元素的值為 undefined ;
6, 數(shù)組的下標(biāo)(索引):
大小 : 0 <= 下標(biāo) < 2的32次方 – 1 ;
如果不在范圍內(nèi),js會(huì)講它轉(zhuǎn)換為一個(gè)字符串,作為對(duì)象屬性的名稱;
而不是作為數(shù)組的下標(biāo);
比如:
a[-1.2] = “test” ; // 等價(jià)于 a[“-1.2”] =”test” ;
//代碼解釋: 創(chuàng)建一個(gè)名為 “-1.2”的屬性,而不是定義一個(gè) 新的數(shù)組元素。
相關(guān)文章
淺談JavaScript數(shù)據(jù)類型及轉(zhuǎn)換
本文向大家簡(jiǎn)單介紹了javascript的數(shù)據(jù)類型以及他們直接的轉(zhuǎn)換方法,雖然沒有太多示例,但是也是個(gè)人的一些經(jīng)驗(yàn)總結(jié),這里推薦給大家。2015-02-02
細(xì)說(shuō)javascript函數(shù)從函數(shù)的構(gòu)成開始
javascript函數(shù)是一個(gè)比較奇怪的東西,接觸一段時(shí)間你就會(huì)犯迷糊,我想從函數(shù)的構(gòu)成來(lái)細(xì)說(shuō)函數(shù),這聽起來(lái)像是一句廢話,講任何東西當(dāng)然是從構(gòu)成去談2013-08-08
javaScript parseInt字符轉(zhuǎn)化為數(shù)字函數(shù)使用小結(jié)
前幾天做網(wǎng)站的時(shí)候需要講數(shù)據(jù)庫(kù)中的時(shí)間讀取到變量中進(jìn)行使用,用到parseInt函數(shù),講字符轉(zhuǎn)化為數(shù)字。2009-11-11
簡(jiǎn)介JavaScript中setUTCSeconds()方法的使用
這篇文章主要介紹了簡(jiǎn)介JavaScript中setUTCSeconds()方法的使用,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06
解讀JavaScript中 For, While與遞歸的用法
本篇文章對(duì)JavaScript中 For, While與遞歸的用法進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05

