1、在对象中,可以设置一些奇怪的属性_num,称之为构造器属性。一般来说,这种属性不想直接通过外部访问(obj._num)。
我们希望控制这个属性的访问逻辑,obj.num可以访问它,然后改变它的逻辑。
2、构造器属性可以重写自定义属性的get和set方法。
实例
varobj={ _num:0 } obj.num可以访问到,返回数字:0 Object.defineProperty(obj,‘num’,{ //当我们没有设置这个属性时,默认是隐式调用,如果设置了,会调用你设置的方法 //重写自定义属性的set和get属性 set(num){ thsi._num=num },//在num的值被设置时调用 get(){ return‘数字:’+this._num }//在num的值被获取时,调用 }) console.log(obj.num); obj.num=5; console.log(obj.num);
以上就是js中构造器属性的介绍,希望对大家有所帮助。更多js学习指路:js教程
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容