我在MDN上看到了一部分 javascript 代码,我想知道如何在代码下面工作,这是什么意思?
var obj = { get x() { return 17; } };
我在MDN上看到了一部分 javascript 代码,我想知道如何在代码下面工作,这是什么意思?
var obj = { get x() { return 17; } };
据我所知,关键字get
只是归类x()
为 getter,并且似乎是自调用的。jScript (IE) 不支持它,它不是保留字。
你会像这样引用它:obj.x; // 17
用 lamen 的话来说,它们的行为是相同的:
var foo = { get x() { return 17; } };
document.write(foo.x); // 17
var bar = { x: function() { return 17; } };
document.write(bar.x()); // 17
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
那是为 x 属性指定一个 getter,它与 JSON 无关。您很困惑,因为 JSON 是 JS 对象的有效初始化程序,但是,并非所有 JS 初始化程序都是有效的 JSON。
该语法意味着当您从 读取时obj.x
,它将调用该函数以获取其值。