除了使用上的纯偏好外,这两个片段之间有什么区别吗?我看到这两种用法都被广泛使用,但是除了可读性方面的个人偏好之外,我不确定它们如何/为什么不同。
object.foo = function () {
//code
}
foo : function () {
//code
}
object.foo = function () {
//code
}
foo : function () {
//code
}
object = {
foo : function () {
// code
}
}
这是完整的写法,意思是在对象初始化时定义函数。
以下是代码:
object.foo = function () {
//code
}
可以作为一种速记方式使用,如果您想在对象的声明之后动态声明函数,也可以使用它。
var obj = {
foo: function() {
// do something
}
};
obj.bar = function() {
// do something different
};
但如果你这样做了...
obj = {
bar: function() {
// do something different
}
};
var obj = {};
这种方法来创建一个对象,那么你会失去 foo
函数。因此,一种方法是显式声明一个对象,包括属性和函数,另一种方法则可用于扩展现有对象。var obj = {
foo = function() { // it should be foo: function() {}
// do something
}
};
:
和 =
的问题。这是对象声明语法的问题。在花括号外面使用 =
,但在里面使用 :
。 - Reinstate Monica Cellio
object = {}
包裹起来吗?如果是这样的话,那它们就完全一样了。 - Reinstate Monica Cellioobject = {}
中,那么它将与第一个语句相同。 - Curtis