Javascript方法样式:这两种方法样式有什么区别?

Oli*_*ins 3 javascript methods

Javascript中这两种方法风格有什么区别?它只是一个光学差异还是有更微妙的差异?

Ticket.createDetailView = function(elem) {..}

Ticket = {
   createDetailView: function(elem) {..}
}
Run Code Online (Sandbox Code Playgroud)

Thi*_*ter 10

第一个版本将函数存储在新属性中而不替换对象,Ticket而第二个版本创建仅包含一个属性的对象:createDetailView

然而,假设在第一种情况下对象是空的,则没有真正的区别.例如,以下两个代码片段几乎相同:

var foo = {};
foo.bar = 123;
foo.baz = 456;
Run Code Online (Sandbox Code Playgroud)

var foo = {
    bar: 123,
    baz: 456
}
Run Code Online (Sandbox Code Playgroud)