1
如果我在構造函數中使用return語句,是不是它被認爲是一個實例?或者,return語句使它成爲一個常規函數?爲什麼原型未定義從構造函數返回?
function ClazzA() {};
ClazzA.prototype.go = 1;
function ClazzB() {
return {};
};
ClazzB.prototype.go = 1;
var a = new ClazzA();
var b = new ClazzB();
console.log(a.go); //1
console.log(a.constructor); //ClazzA()
console.log(a instanceof ClazzA); //true
console.log(b.go); //undefined
console.log(b.constructor); //Object()
console.log(b instanceof ClazzB); //false
您從構造函數返回空對象。如果您返回數字或字符串,則按預期工作。請參閱https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new解釋,如果構造函數返回新對象會發生什麼 –
@YHarry請不要在後續編輯中拖動問題,在你的問題中提出問題。您可以在答案中的評論中要求澄清,但如果他們想要提供任何進一步幫助或需要自行解決問題,則由該人員決定。 – Sumurai8
明白了!謝謝〜 – YHarry