我在MDN上看到了一部分javascript代码,我想知道如何在代码下工作,这是什么意思?
var obj = { get x() { return 17; } };
答案 0 :(得分:5)
据我所知,关键字get
只是将x()
归类为getter,并且似乎是自我调用的。 jScript(IE)不支持它,它不是保留字。
您可以这样引用它:obj.x; // 17
用拉面来说,这些行为会相同:
var foo = { get x() { return 17; } };
document.write(foo.x); // 17
var bar = { x: function() { return 17; } };
document.write(bar.x()); // 17
答案 1 :(得分:1)
var obj = { get x() { return 17; } };
等于:
var obj = {
x: 17
}
或者:
var obj = {
x: (function(){
return 17;
})()
}
这意味着var obj
声明了一个对象,get x() { return 17; }
声明了一个obj对象的属性,其值为17:
var myVar = obj.x;//Equals to 17
答案 2 :(得分:0)
那是为x属性指定一个getter,它与JSON无关。您感到困惑,因为JSON是JS对象的有效初始化程序,但并非所有JS初始化程序都是有效的JSON。
该语法意味着当您从obj.x
读取时,它会调用该函数来获取其值。