国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

用js的方法實現一個new

lemanli / 1816人閱讀

摘要:運算符創建一個用戶定義的對象類型的實例或具有構造函數的內置對象的實例。新建對象鏈接對象設置指向原來指向執行一次構造函數返回對象當代碼執行時,會發生以下事情一個繼承自的新對象被創建。使用指定的參數調用構造函數,并將綁定到新創建的對象。

new 運算符創建一個用戶定義的對象類型的實例或具有構造函數的內置對象的實例。new 關鍵字會進行如下的操作:

1.創建一個空的簡單JavaScript對象(即{});
2.鏈接該對象(即設置該對象的構造函數)到另一個對象 ;
3.將步驟1新創建的對象作為this的上下文 ;
4.如果該函數沒有返回對象,則返回this。

window.name = "iii"

function Person(){
    this.name = 3
}
Person.prototype.say = function(){
    console.log(this.name)
}
var p1 = new Person();
p1.say() //3
function _new(P){
    let o = {}; //1.新建對象
        let arg = Array.prototype.slice.call(arguments,1);
        o.__proto__ = P.prototype; //2.鏈接對象
       // P.prototype.constructor = P;
        P.apply(o,arg);//3.設置this指向obj(原來指向window)//執行一次構造函數
        return o;//4.返回對象
}
var p2 = _new(Person)
p2.say() //3

console.log(p2 instanceof Person ) //true
console.log(p2.construtor === p1.construtor) //true

當代碼 new Foo(...) 執行時,會發生以下事情:

一個繼承自 Foo.prototype 的新對象被創建。
使用指定的參數調用構造函數 Foo,并將 this 綁定到新創建的對象。new Foo 等同于 new Foo(),也就是沒有指定參數列表,Foo 不帶任何參數調用的情況。
由構造函數返回的對象就是 new 表達式的結果。如果構造函數沒有顯式返回一個對象,則使用步驟1創建的對象。(一般情況下,構造函數不返回值,但是用戶可以選擇主動返回對象,來覆蓋正常的對象創建步驟)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110299.html

相關文章

  • js溫故而知新7(面向對象編程)——學習廖雪峰js教程

    摘要:不區分類和實例的概念,而是通過原型來實現面向對象編程。新創建的的原型鏈是也就是說,的原型指向函數的原型。最后,創建一個對象代碼和前面章節完全一樣小明繼承用定義對象的另一個巨大的好處是繼承更方便了。 JavaScript不區分類和實例的概念,而是通過原型(prototype)來實現面向對象編程。 原型是指當我們想要創建xiaoming這個具體的學生時,我們并沒有一個Student類型可用...

    Jaden 評論0 收藏0
  • 原生 JS 實現 MVVM 框架1——觀察者模式和數據監控

    摘要:在前端頁面中,把用純對象表示,負責顯示,兩者做到了最大化的分離把和關聯起來的就是。了解了思想后,自己用原生實現一個框架。注意數據描述符和存儲描述符不能同時存在,否則會報錯報錯數據攔截使用來實現數據攔截,從而實現數據監聽。 在前端頁面中,把 Model 用純 JS 對象表示,View 負責顯示,兩者做到了最大化的分離 把 Model 和 View 關聯起來的就是 ViewModel。Vi...

    TANKING 評論0 收藏0
  • JS語言缺陷

    摘要:語言缺陷是一門在極短時間里創造的腳本語言,它存在很多的不足,這使得在學習時無形加大了學習的難度,本文就將這些內容進行總結,以防繼續掉坑。 JS語言缺陷 js是一門在極短時間里創造的腳本語言,它存在很多的不足,這使得在學習時無形加大了學習的難度,本文就將這些內容進行總結,以防繼續掉坑。 1.變量提升 1.1 案例分析 先來說一下變量提升,它其實就是先用后聲明,經常被拿來說明的一個例子是:...

    I_Am 評論0 收藏0
  • 現代化方式開發一個圖片上傳工具

    摘要:對于圖片上傳,大家一定不陌生。項目地址一環境搭建本項目使用目前最新的和進行開發,所以環境的搭建必不可少。在目錄下新建代碼內容只有行,其輸入為一個圖片文件,輸出為一串編碼。同樣的方式,我們可以為也設置一個代理數組,以實現向外拋出數組的目的。 對于圖片上傳,大家一定不陌生。最近工作中遇到了關于圖片上傳的內容,借此機會認真研究了一番,遂一發不可收拾,最后琢磨了一個東西出來。在開發的過程中有不...

    beanlam 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<