1

我正在尝试在 JavaScript 中的本机字符串上设置一个吸气剂,但我似乎无法让它工作。这甚至可能吗?

var message = "foo";
message.__defineGetter__("length", function() {
  return 3;
});

(这是在终端上工作)

4

1 回答 1

2

您的问题有点奇怪 - 当您感兴趣的属性已经可以访问时,为什么还需要设置 getter?

也就是说:有些是,有些不是,因为它们中的一些必须保持 ECMAscript 规范所说的它们应该是 JavaScript 才能正常工作。String 的length属性是不可变属性的一个示例,但大多数toString()属性都是完全可变的(具有可笑的有害结果)。

所以真正的问题是“你想做什么需要你否决 ECMAscript 规范”=)

于 2013-06-08T15:04:34.527 回答