標籤:繼承 writable 自己 建立 var [] rabl obj 配置
一,對象的建立
對象的建立有三種方法:
1,通過對象直接量的建立,比如 var k = {x : 1},這種建立方法的原型鏈是Object.prototype
2,通過new 建構函式,比如 var k = new Array();//建立一個空數組 tips:除了用一些內建函數構造,也可以用自己寫的函數,比如 var k = new function(){var x = 1;return x;} 這種建立方法的原型鏈是建構函式本身的原型鏈,比如Array.prototype
3,通過object.create()建立,object.create()是一個靜態函數,而不是提供給某個對象調用的方法,使用方法就是傳入所需的原型對象
比如 var x = {o:1,k:1};//x繼承了屬性o,k
object.create()也可以傳入null,但所建立的對象沒有包括對象的基本方法,比如toString 也就是說啥都沒有 比如 var x = object.create(null)
object.create()可以建立一個普通的Null 物件,這時候傳入的是object.prototype或者,這時候可以使任何對象可繼承
二,屬性的查詢和設定
屬性的查詢和設定通過 . 和[] 比如 var x = {a : 1,
name : "name1"}//這裡有個小技巧,屬性名稱為name ,不加雙引號,即“name”,載入速度更快
所以 x.a = 1, x["name"] // 輸出結果 name1
三,繼承
var o ={};
o.x = 1;//給o的一個屬性x,
var p = inherit(o);//p繼承o
p.y = 2;
var k = inherit(p);//k繼承p
k.x + k.y //輸出結果為3,因為k裡面通過原型鏈有了o,p的屬性
四,屬性的特性
屬性有四個特性: value,writable,enumerable,configurable,其中可枚舉enumerable和可配置configurable是布爾值
五,對象的三個屬性
分別為:原型屬性,類屬性,可擴張屬性
js中關於對象的總結