function obj()
const my = new obj();
console.log(my);
obj.prototype = array.prototype;
array.prototype.coco = 1;
console.log(my.coco); // undefined
const my2 = new obj();
console.log(my2.coco); // 1
console.log(my instanceof obj) // false
在修改建構函式的prototype後,修改前建立的物件仍舊指向原先的prototype
剛開始遇到的時候仍舊覺得有些奇怪,後面想了想,建立物件時,物件中的__proto__屬性也只是原先prototype引用的淺拷貝,這是在建立物件時就確定的了。
js原型物件和原型鏈的理解
原型的存在主要是為了解決在例項化時,節省記憶體,可以減少例項化是物件內部的屬性或者方法過多,可以將這些屬性或者方法放在原型上,例項物件在需要這些屬性或者方法時,可以直接呼叫,js會根據原型鏈進行查詢。function protof name,age protof.prototype.showtest...
建構函式 原型物件 原型鏈之間的關係
一 三者的概念 在js中萬物都是物件,每個資料中都有一條屬性叫 proto 這個屬性叫隱式原型,乙個物件中的隱式原型指向構造該物件的建構函式的原型物件prototype。prototype 是原型物件,專屬於函式,作用 為將來創造例項做父級使用,減少記憶體。constructor 指向了當前所在的p...
對js原型物件的拓展和原型物件的重指向的區別的研究
我寫了如下兩段 function person var p1 new person person.prototype p1.sayname 這一段的執行結果是 uncaught typeerror undefined is not a function 然後我又把它改寫為下面的 function p...