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

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

JavaScript 上的 prototype this 迷惑,求解惑 分不多,謝謝

JavaScript 上的 prototype this 迷惑,求解惑 分不多,謝謝

萬千封印 2018-12-07 05:30:51
1 function logs(str){document.write(str+"<br />")} 2 3 //動態(tài)原型方法的精髓在于使用 prototype 聲明實例方法,使用 this 聲明實例屬性 4 function Car(){ 5 this.color = "none"; //實例實屬 6 if( typeof Car._initialized == "undefined"){ 7 Car.prototype.showCar = function(){ //實例方法 8 logs(this.color); 9 } 10 } 11 Car._initialized = true; //靜態(tài)屬性 ? 實例屬性? 12 } 13 logs(Car.color); //undefined 14 logs(Car._initialized); //undefined ? 15 var ca = new Car(); 16 logs(ca.color); //none 17 logs(Car._initialized); //true ? 18 logs(ca._initialized); //undefined ? 19 ca.showCar(); //none 14 17 18 行 ? 在函數Car中 這樣Car._initialized 聲明的屬性 這個屬性到底是靜態(tài)屬性,還是實例屬性, 如果是靜態(tài)屬性為什么 14行報錯? 如果是實例屬性 18行為什么? ?而在聲明對象ca后 17行又是對的?
查看完整描述

6 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

問: 在函數Car中 這樣Car._initialized 聲明的屬性 這個屬性到底是靜態(tài)屬性,還是實例屬性?

答: 靜態(tài)屬性,更準確的說應該叫 類屬性。

問:如果是靜態(tài)屬性為什么 14行報錯?

答: Javascript是純動態(tài)的語言和Java之類的不一樣,java是預先編譯好類的結構的,如果是java 使用靜態(tài)變量不用new 類直接用類名就可以訪問變量,而javascript卻必須new function,否則是執(zhí)行不到代碼,變量也就不會存在。就是說javascript里function中的變量不執(zhí)行是不存在的。所以必須先new Car 靜態(tài)變量 Car._initialized 才會存在。new過之后你才能訪問到這個變量。

問:如果是實例屬性 18行為什么? ?而在聲明對象ca后 17行又是對的?

答:不是實例屬性;上面已經做出回答。

記得加分啊哈哈。

查看完整回答
反對 回復 2018-12-24
?
達令說

TA貢獻1821條經驗 獲得超6個贊

把11行從函數中拿出來再看看,也許你就明白了

查看完整回答
反對 回復 2018-12-24
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

 Car._initialized = true;最好不要看這一句。整個例子是一個動態(tài)原型方式。
加上這么一句的作用,只在于當第一次構造函數時,會生成相應的方法,再次生成是,因為是ture了,所以就避免了重復。它的作用,有點像標識而已。
查看完整回答
反對 回復 2018-12-24
?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

只是?標識 ?是Car的屬性嗎?

查看完整回答
反對 回復 2018-12-24
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

@李凡: 是的咧。所以不要多想了,哈哈。

查看完整回答
反對 回復 2018-12-24
  • 6 回答
  • 0 關注
  • 557 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號