Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript对象内部创建函数的不同方法之间有什么区别?_Javascript_Node.js - Fatal编程技术网

在javascript对象内部创建函数的不同方法之间有什么区别?

在javascript对象内部创建函数的不同方法之间有什么区别?,javascript,node.js,Javascript,Node.js,方法1和方法2之间有什么区别 let myObject = { method1: function(x){ console.log(...); }, method2(x){ console.log(...); } } 没有区别method2只是ES6中引入的一种速记语法 从ECMAScript 2015开始,介绍了对象初始值设定项上方法定义的较短语法。它是指定给方法名称的函数的缩写 来源:正如评论中所述,这里没有真正的

方法1方法2之间有什么区别

let myObject = {
     method1: function(x){
         console.log(...);
     },
     method2(x){
         console.log(...);
     }
}

没有区别
method2
只是ES6中引入的一种速记语法

从ECMAScript 2015开始,介绍了对象初始值设定项上方法定义的较短语法。它是指定给方法名称的函数的缩写


来源:

正如评论中所述,这里没有真正的区别

这只是“你想怎么写”的问题

但是如果你要开始一个项目,你应该选择一种方式并坚持下去,如果项目已经开始了,试着坚持最常用的方式。这将大大有助于轻松阅读代码

另外,如果是关于范围或绑定的,您应该看看这里:


@Glubus,Jamiec:它是有效的es2015(如果我们添加逗号):从语义上讲,这些方法是等价的,与上述主张相反,除了对象文本中两个函数体之间缺少逗号之外,这是有效的JavaScript ES6。为了更好地理解您的提问需求-为什么您认为存在差异?@JamesThorpe只需要知道在绑定、范围或其他方面是否存在差异else@YouMa在这方面没有区别约束或范围。对象文字成员方法与分配给对象键的常规ES5语法函数类似,如
method1
中所述。