Javascript 为什么将隐式函数定义为对象属性在Firefox和Chrome中起作用?

Javascript 为什么将隐式函数定义为对象属性在Firefox和Chrome中起作用?,javascript,Javascript,这在Firefox和Chrome上是如何工作的,但在IE上是错误的。据我所知,这应该总是会产生错误,但Firefox和Chrome允许你这样做 这实际上是ES标准的一部分,还是有些奇怪 var Greeter = { sayHi( name ) { alert( name ); } }; Greeter.sayHi( 'kevin' ); 您正在使用 对于将对象与ES5一起使用,可以使用 var迎宾员={ sayHi:函数(名称){ 警报(名称); } };

这在Firefox和Chrome上是如何工作的,但在IE上是错误的。据我所知,这应该总是会产生错误,但Firefox和Chrome允许你这样做

这实际上是ES标准的一部分,还是有些奇怪

var Greeter = {
   sayHi( name )
   {
      alert( name );
   }
};

Greeter.sayHi( 'kevin' );
您正在使用

对于将对象与ES5一起使用,可以使用

var迎宾员={
sayHi:函数(名称){
警报(名称);
}
};
迎宾员,sayHi(“凯文”)这是ES2015(又称“ES6”):它是新的方法语法


它在IE中不起作用,因为IE不支持它,在ES2015规范完成前几年发布。它在Edge中可以正常工作。

javascript的销毁终于进入了执行阶段