
JS设置对象的属性
设置对象属性与属性管理
发布日期:2021-05-14 16:20:54
浏览次数:23
分类:精选文章
本文共 945 字,大约阅读时间需要 3 分钟。
设置对象属性
不让属性进行修改
通过Object.defineProperty可以限制属性的可写性,阻止外部代码修改对象的属性值。
var dog = {}; Object.defineProperty(dog, 'name', { writable: false, value: 'Nic' }); dog.name = 'weff'; console.log(dog); // 输出:dog的name属性仍然是'Nic',无法修改
不让属性进行删除
同样可以通过配置属性的可删除性为false,阻止delete操作。
var person = {}; Object.defineProperty(person, 'name', { configurable: false, value: 'wwwwwww' }); delete person.name; console.log(person); // 输出:删除操作无效,name属性仍然存在
修改属性时弹出信息
如果需要在修改属性时提示用户,可以通过getter函数实现。
var dog = {}; Object.defineProperty(dog, 'name', { get: function() { return this.name; }, set: function(newName) { alert('不要修改我'); } }); dog.name = 'www'; console.log(dog); // 修改属性时会弹出警告信息