javascript--2.對象

做爲參數傳入函數用null.javascript

    <script>
            var s="text"; //建立一個字符串
            s.len=4;      //給他設置一個屬性  
            var t=s.len;
            alert(t);
      </script>java

運行的時 t 的值爲undefined.   正則表達式

第二行代碼建立了一個臨時的字符串對象,並給其len屬性賦值爲4,隨即銷燬這個對象。數組

var s="hello world !";  //一個字符串函數

var word=s.substring(s.indexOf(" ")+1,s.length); //使用字符串的屬性spa

字符串不是對象怎麼會有屬性?只要引用了字符串s的屬性,javascript就會將字符串值經過new String(s)的方法換成對象,這個對象繼承了字符串的方法,並用來處理屬性的引用。一旦屬性引用結束,這個新建立的對象就會銷燬。prototype

對象:對象

除了字符串、數字、true 、false、null和undefined以外javascript中的值都是對象。繼承

對象是可變的,咱們經過引用而非值來操做對象。若是變量x是指向一個對象的引用,那麼執行 var y=x;ip

變量y的值也指向同一個引用, 經過變量y的修改,這個對象對變量x也會形成影響。

屬性特性:

writable : 代表是否能夠設置該屬性的值。

enumerable:代表是否能夠經過for/in循環返回該屬性

configurable:代表是否能夠刪除或修改該屬性。

對象特性:

對象的特性(prototype)指向另一個對象,本對象的屬性繼承自它的原型對象。

對象的類(class)是一個標識對象的字符串。

對象的擴展標記(extensiable flag)指明瞭是否能夠向該對象添加新屬性。

三類javascript對象:

內置對象(native object)數組、函數、日期、正則表達式。

宿主對象(host object)是javascript解釋器所嵌入的宿主環境。客戶端 javascript 中表示網頁結構THMLElement對象均是宿主對象

自定義對象(user-defined object)是由運行中的javascript代碼建立的對象。

兩個屬性:

自有屬性(own property)是直接在對象中定義的屬性。

繼承屬性(inherited property)是在對象的原型對象中定義的屬性。

property與attribute均可單獨理解爲屬性、property attribute是一個詞組,意爲「屬性的特性」---------可寫、可枚舉、可配置

 

1.建立對象

直接量:由若干名/值對組成的映射表,中間用冒號分割 , 名/值對之間用逗號分割,整個映射表用花括號括起來

對象的直接量是一個表達式,這個表達式的每次運算都建立並初始化一個新的對象

var empty={ };//沒有任何屬性的對象

var point{ x : 0 ,y : 0;} //兩個屬性

var point2={ x : point.x  , y : point.y+1};

var book ={

"main title" : "javascript" , //屬性名有空格,必須用字符串表示

"sub-title" : " the one" ,   //屬性名裏有連字符,用字符串顯示

「 for」: " djskf" ,          //for是保留字用引號

   author:{

        firstname :" David",  //這裏的屬性沒有引號

        lastname : " dfd"}

};

2.經過new建立對象

相關文章
相關標籤/搜索