function test(){}
test.prototype.name = 'pname'
var t1 = new test()
var t2 = new test()
console.log(t1.name,t2.name) //pname、pname
t1.name = 'tname'
console.log(t1.name,t2.name) //tname ,pname,此时t1往自己身上加了一个name属性,
不再访问原型上的name
t1.__proto__.name = 'tname'
console.log(t1.name,t2.name) //tname、tname ,两个对象的原型都是指向同一个对象,因此t1修改了,
t2也会受影响
-----------------------------------------------------------------------------------
function test(){}
test.prototype.name = '张三'
test.prototype.age = 18
var t = new test()
t.name = t.name+'haha' //无法修改原型上面的属性,会在自己身上添加一个属性
t.age++ //同上
console.log(t) // {name:'张三haha',age:19}
原型,原型链
于 2023-07-24 09:59:11 首次发布