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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

面試遇到的一個(gè)問(wèn)題,小白求教關(guān)于原型鏈的

面試遇到的一個(gè)問(wèn)題,小白求教關(guān)于原型鏈的

拉莫斯之舞 2018-08-02 13:24:52
function C1(name){    if(name) this.name=name;}function C2(name){    this.name=name;}function C3(name){    this.name=name||'john';}//C1.prototype.name="Tom";C2.prototype.name="Tom";C3.prototype.name="Tom";alert((new C1().name)+(new C2().name)+(new C3().name));//我理解的本地name都沒(méi)聲明,訪問(wèn)的都是prototype的name屬性//所以有個(gè)疑問(wèn)就是沒(méi)有聲明的屬性也可以去原型里找嗎//不是應(yīng)該聲明沒(méi)賦值才有用么
查看完整描述

2 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

C1,if不成立,new C1()中沒(méi)有name屬性,就訪問(wèn)到了原型上的name,輸出tom
C2,既然沒(méi)有參數(shù),也就是執(zhí)行new C2(undefined),所以name為undefined
C3,new C3()的name值為john,所輸出john

查看完整回答
反對(duì) 回復(fù) 2018-08-05
?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

你的問(wèn)題在于在構(gòu)造實(shí)例時(shí)沒(méi)有聲明name,因?yàn)楦緵](méi)有為構(gòu)造函數(shù)傳參數(shù),那么真是如此嗎?

function test(t) {    
        console.log(t);//undefined
    console.log(a);//報(bào)錯(cuò)}
test();

可以看到,即使沒(méi)有給一個(gè)帶參的函數(shù)傳參,也能訪問(wèn)到這個(gè)參數(shù),這個(gè)參數(shù)的值是undefined。
這其實(shí)涉及到arguments,js函數(shù)定義時(shí)的參數(shù)其實(shí)是不必要的,因?yàn)楹瘮?shù)內(nèi)部其實(shí)訪問(wèn)的是一個(gè)類數(shù)組對(duì)象arguments,傳進(jìn)來(lái)的參數(shù)依次放到這個(gè)對(duì)象中。

function test(t) {    
        console.log(arguments[0]);//undefined
    console.log(arguments[1]);//undefined}
test();

所以第一個(gè)構(gòu)造函數(shù)沒(méi)有聲明和初始化name,實(shí)例去原型中找name屬性。但剩下的兩個(gè)構(gòu)造函數(shù)為name賦值undefined。
所以這道題的答案是:Tomundefinedjohn


查看完整回答
反對(duì) 回復(fù) 2018-08-05
  • 2 回答
  • 0 關(guān)注
  • 1363 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)