0
我正在研究Javascript對象和原型,據我所知,定義構造函數的兩種方式最終都有類似的結果。不同原型的Javascript對象構造器混淆
例如,在此代碼完全相同的構造函數有兩種不同的方式定義但他們最終有不同的原型值:
var PersonOne = function() {};
function PersonTwo(){};
var p1 = new PersonOne();
var p2 = new PersonTwo();
console.log(p1.constructor.prototype);
console.log(p2.constructor.prototype);
結果:
Object {}
PersonTwo {}
顯然我錯了並在PersonOne中定義構造函數的結果是構造函數的原型是Object。那會影響繼承。但問題是,這種不同結果的原因是什麼?
我認爲這個問題可能是由於PersonOne函數在運行時被定義,而PersonTwo在分析時被定義的事實?謝謝您的幫助。
優秀點,謝謝澄清現在我得到它:) –