__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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。