面试题:(考察Object.defineProperty(obj,prop,descriptor) 的get方法)
2017-03-14 00:00
549 查看
参考链接1: javascript学习(九)对象属性的特性
参考链接2:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
案例1:var person = {}; Object.defineProperty(person, "name", { value:"Tom", writable:false, enumerable:false, configurable:false }); console.log(person.name); //Tom person.name = "Linda"; console.log(person.name); //Tom
案例2:
var person = {}; Object.defineProperty(person, "name", { value:"Tom", writable:true, enumerable:false, configurable:true }); console.log(person.name); //Tom person.name = "Linda"; console.log(person.name); //Linda
图解:
案例3:官方文档解释的太好了!!!
Writable attribute
When the writable property attribute is set to false, the property is said to be “non-writable”. It cannot be reassigned.var o = {}; // Creates a new object Object.defineProperty(o, 'a', { value: 37, writable: false }); console.log(o.a); // logs 37 o.a = 25; // No error thrown // (it would throw in strict mode, // even if the value had been the same) console.log(o.a); // logs 37. The assignment didn't work.
As seen in the example, trying to write into the non-writable property doesn’t change it but doesn’t throw an error either.
以上内容作为个人学习记录使用,仅供参考,不足之处,烦请告知。
相关文章推荐
- Object.defineProperty(obj,prop,descriptor)使用
- 9. ES5 之 Object.defineProperty(obj, prop, descriptor)
- JavaScript Object.defineProperty()方法详解
- ECMAScript5 Object的新属性方法(包含Object.create()、Object.defineProperty()等)
- Object.defineProperty方法
- 关于Object.defineProperty的get和set
- Object.defineProperty方法
- Object.defineProperty()的set方法除了用于双向绑定还能干嘛?
- js中神奇的Object.defineProperty方法
- includes方法 使用 Object.defineProperty 扩展 ,解决不兼容问题
- JavaScript使用Object.defineProperty方法实现双数据绑定
- JS中的双向数据绑定及Object.defineProperty方法
- JavaScript Object.defineProperty()方法详解
- javascript中的Object.defineProperty()与getOwnPropertyNames ()方法
- 22、ECMA5给原型对象重新设置构造器的方法Object.defineProperty(p1,p2,p3)
- Object.defineProperty()定义对象方法
- Object.defineProperty() 和 Object.getOwnPropertyDescriptor()
- js中的Object.defineProperty方法
- ECMA5中的Object.defineProperty()方法
- Object的getClass()方法(面试题)