{}和function(){}之间的区别

Tra*_*s J 0 javascript

我认为这些是等价的.

var __Panel = {
 this.header = null;
};

var __Panel = function() {
 this.header = null;
};
Run Code Online (Sandbox Code Playgroud)

第一个给出了编译器错误"Expected identifier or string"for this,和"Expected','"for ;.

有人可以为我澄清这一点吗?

Pet*_*son 9

{}用于定义对象,function(){}用于定义函数.

Thos体内{}必须是一系列以逗号分隔的key: value对,如下所示:

var man = {
  age: 24,
  height: 6,
  occupation: "programmer"
};
Run Code Online (Sandbox Code Playgroud)

您的示例无效,原因有三个.首先,this.header它不是有效键,因为它包含一个点,:而不是=用于将键与值分开的标记,,而是;用于分隔键值对.

  • 对; 他们甚至没有*接近*等同. (4认同)
  • 但没有解释*为什么*`this`不起作用 (2认同)