原型鏈 建構函式 箭頭函式 se6陣列去重

2022-02-08 03:35:43 字數 1012 閱讀 7603

原型鏈

例子如下:

var arr = [1, 2, 3];

其原型鏈為:arr ----> array.prototype ----> object.prototype ----> null

同理我們建立乙個函式也是:

function

foo()

其原型鏈為:foo ----> function.prototype ----> object.prototype ----> null

很容易想到,如果原型鏈很長,那麼訪問乙個物件的屬性就會因為花更多的時間查詢而變得更慢,因此要注意不要把原型鏈搞得太長。

建構函式

建構函式如果不寫new,這就是乙個普通函式,它返回undefined。但是,如果寫了new,它就變成了乙個建構函式,它繫結的this指向新建立的物件,並預設返回this。

也就是說,不需要在最後寫return this;

new student()建立的物件還從原型上獲得了乙個constructor屬性,它指向函式student本身。

箭頭函式

x => x * x

上面的箭頭函式相當於:

function

(x)

se6陣列去重

function

dedupe(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...