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

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

新手想在函數(shù)內(nèi)定義一個對象,失敗了?還有Function.prototype.prototype問題?

新手想在函數(shù)內(nèi)定義一個對象,失敗了?還有Function.prototype.prototype問題?

方塊兒 2017-05-27 01:06:01
function a(){ ?? ? var obj1 = {name:1} ?}a();obj1 ? ? ? //在這里回車,所有代碼寫在CHORME F12內(nèi)。最后會顯示錯誤 ?obj1 is not defined。還有:Function.prototype是一個函數(shù)對象function(),那么Function.prototype.prototype為什么會是undefined呢?所有的函數(shù)對象都有prototype吧
查看完整描述

3 回答

?
7君

TA貢獻2條經(jīng)驗 獲得超0個贊

個人見解:

問題一:你這個寫法,是js語言中創(chuàng)建對象中的工廠模式,你在函數(shù)體里面應該把obj1返回出來才行(return? ?obj1;),然后調(diào)用時var? xxx=a();用個變量接住它。

問題二:明確函數(shù)對象這個說法,F(xiàn)unction 和Function.prototype不是一回事,前者是個函數(shù),后者是個對象。只有函數(shù)(這個特殊的對象)才具有prototype這個屬性(指針),F(xiàn)unction.prototype不是個函數(shù),它是個普通對象不具有prototype屬性,所以調(diào)用后會出現(xiàn)undefined。

查看完整回答
反對 回復 2018-07-23
?
永夜君主

TA貢獻11條經(jīng)驗 獲得超2個贊

你想用構(gòu)造函數(shù)的方式寫對象,但是不是這樣寫的吧

function a(){ ?

? ? this.obj1 = {name:1} ?;

}



查看完整回答
反對 回復 2017-05-27
?
人笨嫌刀鈍

TA貢獻100條經(jīng)驗 獲得超24個贊

第一個問題函數(shù)內(nèi)可以寫成obj1={name:1} 或者 window.obj1={name:1} ,都可以成功污染全局作用域

第二個問題Function是一個構(gòu)造類,構(gòu)造函數(shù)才指向自身,應該是Function.prototype.constructor.prototype

另外引擎實現(xiàn)的東西并不屬于js了,應該是c++寫得,所以function就有能看的prototype是不成立的。比如Object.toString

查看完整回答
反對 回復 2017-05-27
?
慕運維2284031

TA貢獻11條經(jīng)驗 獲得超2個贊

第一個問題的答案是作用域的問題 函數(shù)內(nèi)定義的變量在函數(shù)外是不能訪問的 但是函數(shù)外定義的變量在函數(shù)內(nèi)可以訪問 詳情可以百度 JS作用域 第二個問題 我也不知道 不過可以百度 JS原型
查看完整回答
反對 回復 2017-05-27
  • 3 回答
  • 0 關(guān)注
  • 2185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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