Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
奇怪的JavaScript对象语法_Javascript_Google Chrome_Internet Explorer_Javascript Objects - Fatal编程技术网

奇怪的JavaScript对象语法

奇怪的JavaScript对象语法,javascript,google-chrome,internet-explorer,javascript-objects,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() { re

我最近在一个名为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的对象,其他设置为返回后的数字。此外,getter之类的东西也是$h的一部分

有人能给我更多的信息吗?IE无法解释这一点,因此我必须对此进行等效。

你已经找到了

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


从IE9开始,getter和也在IE中实现。

它是一个包含。也适用于IE>8。@Teemu:回答你说得对,谢谢。我很惊讶能在这么旧的代码中看到这么“现代”的特性。我的IE问题是因为IE11中的compat模式与IE8非常相似。在那里它不可用。@sja我不知道WebApp.net有多旧,但在FF中,getter和setter从2006年发布的2.0开始就受到支持。