我有一些问题要让网站在Internet Explorer(IE9)中工作,我发现我们已经通过以下方式在javascript对象中定义了一个函数:
var test = {
a : function(){alert(123);},
blafasl(){$("#test").text("456");},
b : function(){alert(678);},
}
test.blafasl();
//test.b();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='test'></div>
&#13;
在Chrome和Firefox中,代码正在运行,但在IE9中会产生错误消息。
&#39; blafasl&#39;的定义是什么?有效(以及它是如何工作的)? 或者IE出现错误是否正确?
当我将blafasl定义更改为:时,它适用于Chrome,Firefox和IE
blafasl: function(){....},
我发现了这个:http://www.bryanbraun.com/2014/11/27/every-possible-way-to-define-a-javascript-function但它不包括我的问题......
问候 马丁
PS:这是上述代码的fiddel:http://jsfiddle.net/zjobwd89/2/
答案 0 :(得分:-1)
它的ES6对象文字: https://github.com/lukehoban/es6features#enhanced-object-literals
你可以这样写:
var obj = {
// __proto__
__proto__: theProtoObj,
// Shorthand for ‘handler: handler’
handler,
// Methods
toString() {
// Super calls
return "d " + super.toString();
},
// Computed (dynamic) property names
[ 'prop_' + (() => 42)() ]: 42
};