📜  JavaScript Object.prototype.__defineGetter__() 方法

📅  最后修改于: 2022-05-13 01:56:51.407000             🧑  作者: Mango

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 及以上