我又回來了,最近忙著喝枸杞,沒來寫博客感覺很有負罪感,今晚我來寫一點小小的知識點 可能我們在用形如Array.of()的方法時會產生一些疑問,為什麼我們能不實例化直接使用Array上的of()方法呢,其實原理很簡單,就是of()方法時Array的靜態方法,所以我們才能直接Array.of()來使用 ...
我又回來了,最近忙著喝枸杞,沒來寫博客感覺很有負罪感,今晚我來寫一點小小的知識點
可能我們在用形如Array.of()的方法時會產生一些疑問,為什麼我們能不實例化直接使用Array上的of()方法呢,其實原理很簡單,就是of()方法時Array的靜態方法,所以我們才能直接Array.of()來使用
可能我這個表述不是很清楚,沒事,下麵我們來通過一個慄子來看一下到底是怎麼回事
//首先我們來模擬一個Array的構造函數 function newArray(){} //再給這個構造函數原型對象上添加方法 newArray.prototype.shiyan = function(){ console.log("我是實驗函數") } // 現在我們這樣調用的時候 newArray.shiyan();
這木寫函數用形如Array.of()調用的時候會報一個錯誤
這樣顯然不符合我們想做成Array.of()這種調用方式的要求,別急,我們來試試另一種方法
靜態函數:
//首先我們來模擬一個Array的構造函數 function newArray(){} //我們現在不再去給構造函數的原型對象上添加方法 // 而是給構造函數上添加靜態方法 newArray.of=function(){ console.log("我是構造函數的靜態方法"); } //現在我們再來試試能不能通過類似於Array.of()方法調用 newArray.of();
我們可以看到現在我們能通過形如Array.of()調用到方法了,真的是美滋滋。
好了,今天先就這樣吧,大家下次見