__defineGetter__() 方法用于将对象的属性绑定到一个函数,该函数在查找指定属性时将被调用。建议使用对象初始值设定项语法或 Object.defineProperty() API 而不是此方法,因为它已被弃用。
句法:
obj.__defineGetter__( prop, func )
Parameters: 该函数接受上面给出和下面说明的两个参数:
- prop:它是一个字符串,包含要绑定到给定函数的属性名称。
- fun: 它是查找属性时调用的函数。
返回值:该方法返回未定义。
示例 1:使用 __defineGetter__() 方法
Javascript
let obj = {};
obj.__defineGetter__('printTen', function () {
return 10;
});
console.log(obj.printTen);
输出:
10
示例 2:使用standard-compliant方式,使用对象初始值设定项语法和Object.defineProperty() API。
Javascript
// Using the get operator
let obj = {
get printTen() { return 10; }
};
console.log(obj.printTen);
// Using Object.defineProperty
let obj1 = {};
Object.defineProperty(obj1, 'printTwo', {
get: function () {
return 2;
}
});
console.log(obj1.printTwo);
输出:
10 2
我们有 Javascript 对象方法的完整列表,要检查这些方法,请阅读 Javascript Object Complete Reference 文章。
支持的浏览器:
- Chrome 1 及以上版本
- 边 12 及以上
- 火狐浏览器1及以上版本
- Internet Explorer 11 及更高版本
- Opera 9.5 及以上版本
- Safari 3 及以上版本
相关用法
- JavaScript Object toLocaleString()用法及代码示例
- JavaScript Object toString()用法及代码示例
- JavaScript Object valueOf()用法及代码示例
- JavaScript Object hasOwnProperty()用法及代码示例
- JavaScript Object getOwnPropertyDescriptor()用法及代码示例
- JavaScript Object getOwnPropertyDescriptors()用法及代码示例
- JavaScript Object getOwnPropertyNames()用法及代码示例
- JavaScript Object getOwnPropertySymbols()用法及代码示例
- JavaScript Object keys()用法及代码示例
- JavaScript Object propertyIsEnumerable()用法及代码示例
- JavaScript Object getPrototypeOf()用法及代码示例
- JavaScript Object freeze()用法及代码示例
- JavaScript Object is()用法及代码示例
- JavaScript Object values()用法及代码示例
- JavaScript Object isPrototypeOf()用法及代码示例
- JavaScript Object hasOwn()用法及代码示例
- JavaScript Object isFrozen()用法及代码示例
- JavaScript Object entries()用法及代码示例
- JavaScript Object isSealed()用法及代码示例
- JavaScript Object create()用法及代码示例
- JavaScript Object seal()用法及代码示例
- JavaScript Object assign()用法及代码示例
- JavaScript Object.keys()用法及代码示例
- JavaScript Object.values()用法及代码示例
- JavaScript Object.entries()用法及代码示例
注:本文由纯净天空筛选整理自thacker_shahid大神的英文原创作品 JavaScript Object __defineGetter__() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。