提问人:Dexygen 提问时间:9/5/2015 最后编辑:BergiDexygen 更新时间:3/9/2016 访问量:8155
如果没有“function”关键字,此对象方法定义如何工作?
How does this object method definition work without the "function" keyword?
问:
我通过不小心遗漏了关键字来发现这一点。通常,以下模块中的方法将被声明为 ,但有趣的是,至少在某些浏览器中,例如Chrome版本44.0.2403.157 m,但在IE 11.0.9600.17959中失败function
foobar
foobar: function(arg1)
这怎么可能在任何浏览器中运行?这是某种新的 ES6 功能吗?
var module = {
foobar(arg1) {
alert(arg1);
}
};
module.foobar("Hello World");
答:
32赞
user229044
9/5/2015
#1
这怎么可能在任何浏览器中运行?是某种新的 ES6 功能吗?
是的。
...
方法定义
对象的属性也可以指函数或 getter 或 setter 方法。
var o = { property: function ([parameters]) {}, get property() {}, set property(value) {}, };
在 ECMAScript 6 中,可以使用速记表示法,以便 关键字“function”不再是必需的。
// Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
...
评论
14赞
Joseph
9/5/2015
#2
ES6 允许“简洁的方法”,正如你所发现的,这些方法还不能跨浏览器兼容。
评论