奇怪的JavaScript对象语法

时间:2015-05-25 15:29:02

标签: javascript google-chrome internet-explorer javascript-objects

我最近在一个名为WebApp.net的图书馆中遇到了这个问题:

var $h = {
    get HEAD() { return 0 },
    get BACK() { return 1 },
    get HOME() { return 2 },
    get LEFT() { return 3 },
    get RIGHT() { return 4 },
    get TITLE() { return 5 }
};
var $d = {
    get L2R() { return +1 },
    get R2L() { return -1 }
};

我熟悉JS,但这似乎毫无意义。 Chrome确实将此解释为具有$ h.HEAD的对象,其他设置为返回后的数字。此外,像吸气剂这样的东西也是$ h的一部分。

有人可以给我更多关于此的信息吗? IE无法解释这一点,所以我必须与此相提并论。

1 个答案:

答案 0 :(得分:7)

您找到了getters

使用getter,您可以在读取对象的属性时执行函数。另外,它是一种为对象属性提供一些保护的方法,你不能直接改变getter的值。

自IE9以来,

Getters和setters也在IE中实现。