亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

訪問原型對象的函數屬性時,報該屬性‘is not a function’的錯誤?是new關鍵字

訪問原型對象的函數屬性時,報該屬性‘is not a function’的錯誤?是new關鍵字

慕雪6442864 2018-10-02 13:10:47
javascript代碼如下:var A = function() {    function Person(name) {        this.name = name;     }      var m = function() {        return "Hello " + this.name;        //return "Hello ";     };       Person.prototype.getGreeting = m;         return Person; };console.dir(A);//代碼1//結果正常,無報錯//var B=A();// console.log(new B("AAAA").getGreeting()); //代碼2//報錯:1.js:43 Uncaught TypeError: (intermediate value).getGreeting is not a function console.log(new A().getGreeting()); //代碼3//結果正常,無報錯 console.log(new(new A())("AAAA").getGreeting()); //代碼4//結果正常,無報錯 console.log(new(A())("AAAA").getGreeting());調試過程中,發現報錯部分(即代碼2)中new A()對象的原型prototype其實是包含有getGreeting這個屬性值的。對以上代碼有如下幾個疑問:1.new A()生成的是什么?希望可以從深層次解答。2.new A()生成的對象和new(new A())("AAAA")生成對象的區別?3.代碼1和代碼3可看出new A()和A()貌似沒有什么區別,為什么?4.問題3new A()和A()如果確實是沒區別的話,那就是new關鍵字沒有起實例化作用,這該怎么理解?
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 540 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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