鍍金池/ 問(wèn)答/Java  HTML/ JavaScript 構(gòu)造函數(shù)問(wèn)題

JavaScript 構(gòu)造函數(shù)問(wèn)題

學(xué)習(xí)構(gòu)造函數(shù),做練習(xí)題遇到如下代碼

代碼如下

function Fn(){
   return this;
}
Fn.prototype.getNum = function(){
    console.log(3);
};
new new Fn().getNum ();

為什么輸出的是3?

我理解的是 new new Fn().getNum (); 這句代碼

var f = new Fn(); //=> 第一步 f 是一個(gè)空對(duì)象
new f.getNum();  //=> 第二步 在空對(duì)象f中查找getNum方法應(yīng)該報(bào)錯(cuò)才對(duì)啊?。?!

回答
編輯回答
嫑吢丕

f不是空對(duì)象,詳情請(qǐng)百度js原型

2018年8月10日 12:34
編輯回答
兔囡囡

clipboard.png
哪里空了

2017年4月12日 19:06
編輯回答
未命名
new new Fn().getNum ();

var f = new Fn() //a自有屬性中沒有g(shù)etNum (),不代表f.getNum ()為undefined。在自有屬性中沒找到會(huì)繼續(xù)向__proto__中找

圖片描述

2017年5月26日 13:59