我正在使用XULRunner并在代码示例中遇到以下模式:
var StrangeSample = {
backingStore : "",
get foo() { return this.backingStore + " "; },
set foo(val) { this.backingStore = val; },
func: function(someParam) { return this.foo + someParam; }
};
StrangeSample.foo = "rabbit";
alert(StrangeSample.func("bear"));
Run Code Online (Sandbox Code Playgroud)
这导致"兔子熊"被警告.
我以前从未见过这种在Javascript中使用过的get/set模式.它有效,但我找不到任何文档/参考.这是XUL特有的东西,最近的一种语言特征,还是我错过的东西?我很困惑,因为几个月前我特意找了这样的东西,找不到任何东西.
作为参考,删除"get"或"set"会导致语法错误.将它们重命名为其他任何内容都是语法错误.它们确实似乎是关键字.
任何人都可以为我阐明这一点,或指出我参考?