JavaScript Object.prototype.__defineGetter__() 方法
__defineGetter__() 方法用于 将对象的属性绑定到查找指定属性时将调用的函数。建议使用对象初始化器语法或Object.defineProperty() API而不是此方法,因为它已被弃用。
句法:
obj.__defineGetter__( prop, func )
参数:此函数接受上面给出的两个参数,如下所述:
- prop:它是一个字符串,其中包含要绑定到给定函数的属性的名称。
- fun:查找属性时调用的函数。
返回值:此方法返回未定义。
以下示例说明了 __defineGetter__() 方法的用法:
示例 1:使用 __defineGetter__ () 方法
Javascript
let obj = {};
obj.__defineGetter__('printTen', function() {
return 10;
});
console.log(obj.printTen);
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:使用对象初始值设定项语法和 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
支持的浏览器:
- 铬 1 及以上
- 边缘 12 及以上
- 火狐 1 及以上
- Internet Explorer 11 及更高版本
- Opera 9.5 及以上
- Safari 3 及以上