Object.defineProperty 错误
Object.defineProperty Error
我必须找到与 :
等效的代码
Object.defineProperty(object, sProperty, vValue);
因为我正在使用不支持 ECMA Javascript5 的旧 js 解释器,所以我正在尝试切换到此代码:
if(vValue.get)
object["get "+ sProperty] = vValue.get;
if(vValue.set)
object["set " + sProperty] = vValue.set;
但它不起作用。
PS:我的 vValue 是:
假设 vValue
的形式是 value: x
,那么
function myDefineProperty(object, sProperty, vValue) {
object[sProperty] = vValue.value;
}
如果 vValue
是一个包含 get
和 set
的 属性 描述符,那么您可以尝试使用 __defineGetter__
和 __defineSetter__
如果它们在您的环境中可用:
function myDefineProperty(object, sProperty, vValue) {
object.__defineGetter__(sProperty, vValue.get);
object.__defineSetter__(sProperty, vValue.set);
}
有关功能更全面的实现,请参阅 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties#Polyfill 处的 polyfill。
我必须找到与 :
等效的代码Object.defineProperty(object, sProperty, vValue);
因为我正在使用不支持 ECMA Javascript5 的旧 js 解释器,所以我正在尝试切换到此代码:
if(vValue.get)
object["get "+ sProperty] = vValue.get;
if(vValue.set)
object["set " + sProperty] = vValue.set;
但它不起作用。
PS:我的 vValue 是:
假设 vValue
的形式是 value: x
,那么
function myDefineProperty(object, sProperty, vValue) {
object[sProperty] = vValue.value;
}
如果 vValue
是一个包含 get
和 set
的 属性 描述符,那么您可以尝试使用 __defineGetter__
和 __defineSetter__
如果它们在您的环境中可用:
function myDefineProperty(object, sProperty, vValue) {
object.__defineGetter__(sProperty, vValue.get);
object.__defineSetter__(sProperty, vValue.set);
}
有关功能更全面的实现,请参阅 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties#Polyfill 处的 polyfill。