原型鏈
例子如下:
var arr = [1, 2, 3];
其原型鏈為:arr ----> array.prototype ----> object.prototype ----> null
同理我們建立乙個函式也是:
functionfoo()
其原型鏈為:foo ----> function.prototype ----> object.prototype ----> null
很容易想到,如果原型鏈很長,那麼訪問乙個物件的屬性就會因為花更多的時間查詢而變得更慢,因此要注意不要把原型鏈搞得太長。
建構函式
建構函式如果不寫new
,這就是乙個普通函式,它返回undefined
。但是,如果寫了new
,它就變成了乙個建構函式,它繫結的this
指向新建立的物件,並預設返回this。
也就是說,不需要在最後寫return this;
。
用new student()
建立的物件還從原型上獲得了乙個constructor
屬性,它指向函式student
本身。
箭頭函式
x => x * x
上面的箭頭函式相當於:
function(x)
se6陣列去重
functiondedupe(array)
console.log(dedupe([1, 1, 2, 3])) //
[1,2,3]
array.form通過字串建立乙個陣列
javascript原型和原型鏈,建構函式和例項
原型 建構函式 就是工廠,原型的例項就是工廠按照圖紙生成的工具 比如汽車 原型鏈 隱式的 就是生成的工具所具有的功能,而功能是工具的屬性,生成什麼樣的工具是由工廠 建構函式 決定的,圖紙是有工廠和客戶共同決定的 var ca ctory function options this.stop func...
js的原型 原型鏈 建構函式
js裡一切皆物件。有js自己內部的物件,還有使用者自定義的物件。所有的物件都是從原型上衍生出來的。原型本身也是物件,原型鏈的最高層就是object。兩個重要的屬性 prototype,proto 所有的物件都有 proto 屬性,通過.proto 一層一層,最後到達object,object的 pr...
new建構函式和原型鏈
new建構函式functionpeople name,age 這個函式是不是建構函式?他沒有被呼叫,用new呼叫後就是建構函式,不被new呼叫就不是建構函式 functionpeople name,age varobj people 小明 12 alert obj null alert obj.ag...