其他分享
首页 > 其他分享> > 在JScript中,是否可以从外部实现看起来像对象属性的getter和setter?

在JScript中,是否可以从外部实现看起来像对象属性的getter和setter?

作者:互联网

在尝试移植并且通常使用一些非浏览器代码时,我遇到了看起来像普通对象属性的getter和setter.像这样的东西:

js> var o = {
    a: 4,
    get b(){
        return this.a + 3;
    },
    set b(val){
        this.a = val - 3;
    }
};
js> o.a
4
js> o.b
7
js> o.b=10
10
js> o.a
7

这似乎适用于Rhino和Spidermonkey的最新版本,但是在JScript(Windows脚本宿主)中是否可以实现或模拟行为(定义语法对我来说不那么重要)?

解决方法:

答案是否定的.设置器和getter只是功能类似的属性,但没有办法正确模拟语法.我有一个在使用行为的< = IE7中使用HTML元素模拟getter和setter的中途概念,但即使这样也比我想象的要困难得多.即使IE8只支持DOM对象上的getter / setter而不支持JScript对象,所以我认为这是JScript团队需要包含的东西,如果他们这样做的话. 如果只有人想过在原始的JScript / ECMAScript实现中包含setter和getter.

标签:javascript,get,set,wsh
来源: https://codeday.me/bug/20190710/1423462.html