现在我已经回答了其他问题,此功能无效。怎么了?
Weird JavaScript statement, what does it mean?
How to handle click event in javascript?
function myFunc() {
return
{
obj = this;
};
}
答案 0 :(得分:6)
创建对象文字的语法是:
{ foo: bar }
不
{ foo = bar }
此外,在JavaScript中,新行可以终止语句。在return
返回undefined
之后放置一个新行,并且永远不会到达对象文字代码。 JSLint可以解决此类问题。
答案 1 :(得分:6)
由于JavaScript自动添加分号的方式,您的功能无效。
您的return
语句被JavaScript读取为:
return;
{
obj: this;
};
您需要将{
与return
放在同一行:
return{
obj: this;
};
此外,对象必须是{name: value}
。
答案 2 :(得分:5)
这是因为分号注射。
此:
return
{ myProperty: "hello world" };
解析如下:
<< return statement >>
<< pointless object literal expression >>
不 as:
<< return statement with return value expression >>
要返回对象值,您的代码必须如下所示:
return {
myProperty: "hello world"
};
{
与return
在相同的行。