第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript中構造函數(shù)new操作符的理解

JavaScript中構造函數(shù)new操作符的理解

夏目祐太 2017-04-03 18:38:42
//?先一本正經(jīng)的創(chuàng)建一個構造函數(shù),其實該函數(shù)與普通函數(shù)并無區(qū)別 var?Person?=?function(name,?age)?{ ????this.name?=?name; ????this.age?=?age; ????this.getName?=?function()?{ ????????return?this.name; ????} } ??//?將構造函數(shù)以參數(shù)形式傳入 ??function?New(func)?{ ??????//?聲明一個中間對象,該對象為最終返回的實例 ??????var?res?=?{}; ??????if?(func.prototype?!==?null)?{ ??????????//?將實例的原型指向構造函數(shù)的原型 ??????????res.__proto__?=?func.prototype; ??????} ??????//?ret為構造函數(shù)執(zhí)行的結果,這里通過apply,將構造函數(shù)內(nèi)部的this指向修改為指向res,即為實例對象 ??????var?ret?=?func.apply(res,?Array.prototype.slice.call(arguments,?1)); ??????//?當我們在構造函數(shù)中明確指定了返回對象時,那么new的執(zhí)行結果就是該返回對象 ??????if?((typeof?ret?===?"object"?||?typeof?ret?===?"function")?&&?ret?!==?null)?{ ??????????return?ret; ??????} ??????//?如果沒有明確指定返回對象,則默認返回res,這個res就是實例對象 ??????return?res; ??} ??//?通過new聲明創(chuàng)建實例,這里的p1,實際接收的正是new中返回的res ??var?p1?=?New(Person,?'tom',?20); ??console.log(p1.getName()); ??//?當然,這里也可以判斷出實例的類型了 ??console.log(p1?instanceof?Person);?//?true這種思路對嗎?
查看完整描述

目前暫無任何回答

  • 0 回答
  • 2 關注
  • 1601 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號