在javaScript对象字面量中定义访问器属性
来源:互联网 发布:淘宝网红模特有哪些 编辑:程序博客网 时间:2024/05/29 04:47
我们知道,要给对象定义访问器属性,需要使用 Object.defineProperty()方法。
这个方法只能在对象字面量定义以外来使用。形如:
var testObj={_x:10,_y:20};Object.defineProperty(testObj,"X",{propDescriptor});
那么,是否可以在对象字面量中直接定义访问器属性呢?
我能想到的办法就是通过函数。
当然,这种方法最后还需要在外部调用一次函数才能真正的定义出访问器属性。
var testObj = { _x: 12, _y: 15, acsY: function accessorY(propNameY) { if (this.hasOwnProperty(propNameY)) return; Object.defineProperty(this, propNameY, { enumerable:true, get: function readY() { return _y; }, set: function setY(yValue) { _y = yValue; } }) }, acsX: function accessorX(propNameX) { if (this.hasOwnProperty(propNameX)) return; Object.defineProperty(this, propNameX, { enumerable:true, get: function readX() { return _x; }, set: function setX(xValue) { _x = xValue; } }) }};testObj.acsX("X");testObj.acsY("Y");for (var propName in testObj) { console.log(propName)}
需要注意的点是:
必须在描述符对象中指定 enumerable:true,否则 for in 循环找不到这个属性。
阅读全文
0 0
- 在javaScript对象字面量中定义访问器属性
- JavaScript中对象字面量
- javascript中对象字面量与数组字面量
- javascript对象字面量
- JavaScript对象字面量
- JavaScript对象字面量
- JavaScript对象字面量
- JavaScript对象字面量
- javascript中对象字面量的理解
- javascript中对象字面量的理解
- JavaScript-字面量对象详解
- 对JavaScript中对象字面量的理解
- swift中字面量的定义使用
- javascript对象字面量 与XMLHttpRequest
- JavaScript 对象字面量(object literal)
- Javascript 对象字面量与构造函数
- javascript中字面量的理解
- Javascript的字面量对象以及如何拆解字面量对象
- java设计模式
- warning :uninstalling will remove the application data!
- 数据结构——栈的基本操作
- 多线程之生产者消费者模型
- 欢迎使用CSDN-markdown编辑器
- 在javaScript对象字面量中定义访问器属性
- I2C的简单实用案例
- C#学习笔记(二)---在C#中创建类(下)
- dp斜率优化 hdu 2829 Lawrence 题解
- 【LeetCode】50. Pow(x, n)
- 闲谈Android中的@和?符号的引用区别
- Vue.js鼠标悬浮更换图片
- Deletion from BST (Binary Search Tree)
- ffmpeg 截图 视频信息