美文网首页
__proto__原来是属性访问器

__proto__原来是属性访问器

作者: 小李不小 | 来源:发表于2020-09-10 11:31 被阅读0次

proto 只能添加属性,没办法替换

var hd={name:'123'}
hd.__proto__={
    show(){
        console.log(this.name)
    }
}
hd.__proto__.hide=function(){
    console.log('hide')
}


hd.__proto__=99
hd.show();

console.log(hd)

看下面结果 hd.proto=99 无效,这说明没办法替换

image.png

上面说了,我们要替换proto,我们要怎么做呢

var b={}
b=Object.create(null);//把b的对象原型转为空 
b.__proto__='123'
//点击
console.dir(b)

Object.create把b的对象原型转为空 就可以了,去掉对象的原型

这个题目面试的时候,可能问的比较多,大家多注意一下


image.png

相关文章

  • __proto__原来是属性访问器

    proto 只能添加属性,没办法替换 看下面结果 hd.proto=99 无效,这说明没办法替换 上面说了,我们...

  • 原型链

    原型链 对象的__proto__属性,指向了对象的原型(在早期的浏览器中是不能直接访问这个属性的, 现在可以了) ...

  • 面向对象

    一、属性类型 数据属性 访问器属性 1、数据属性 2、访问器属性 例: 定义单个访问器属性 定义多个属性 二、创建...

  • javascript 原型链图

    __proto__和 prototype __proto__是对象才有的属性prototype 是函数才有的属性

  • 什么是原型链?

    什么是原型链 访问一个对象的属性时(obj.a),先在基本属性中查找,如果没有,再沿着__proto__这条链向上...

  • JavaScript 原型链

    原型链的运作过程: __proto__属性的作用就是当访问一个对象的属性时,如果该对象内部不存在这个属性,那么就会...

  • Java学习笔记 - 第008天

    每日要点 修改器和访问器 修改器 - 属性的setter方法 访问器 - 属性的getter方法 toString...

  • 10月23日C#学习总结

    今天学习了属性、索引器、继承 属性:C#不直接访问类的数据,通过访问器访问(get,set)。 索引器:索引器(i...

  • vue双向数据绑定

    Vue双向数据绑定原理 1.属性访问器 ECMAScript中的属性分为两种:数据属性和访问器属性 1 数据属性数...

  • 访问器属性

    访问器属性不包含数据值;它们包含一对儿getter和setter函数(不过,这两个函数都不是必需的)。在读取访问器...

网友评论

      本文标题:__proto__原来是属性访问器

      本文链接:https://www.haomeiwen.com/subject/xxtpektx.html