現在我有我的其他問題的答案,此功能無法正常工作。怎麼了?爲什麼我的功能不工作?
Weird JavaScript statement, what does it mean?
How to handle click event in javascript?
function myFunc() {
return
{
obj = this;
};
}
現在我有我的其他問題的答案,此功能無法正常工作。怎麼了?爲什麼我的功能不工作?
Weird JavaScript statement, what does it mean?
How to handle click event in javascript?
function myFunc() {
return
{
obj = this;
};
}
由於JavaScript自動添加分號,您的功能無法正常工作。
你return
聲明是由JavaScript的解讀爲:
return;
{
obj: this;
};
你需要把{
在同一行return
:
return{
obj: this;
};
此外,對象必須是{name: value}
。
我試過,但它仍然沒有工作。我不認爲你的東西是對的。 – 2011-03-28 18:43:56
你說得對分號,但'OBJ = this'是不允許的對象構造函數中。只在一個街區。我認爲,'='需要成爲一個冒號。 – 2011-03-28 18:44:49
@Stack大師:應該現在的工作。 – 2011-03-28 18:45:07
的語法來創建一個對象文字是:
{ foo: bar }
不
{ foo = bar }
另外,在JavaScript新行可以終止一條語句。通過在return
之後放置新行,您將返回undefined
,並且永遠不會達到對象文字代碼。 JSLint可以解決這類問題。
這是因爲分號注射。
此:
return
{ myProperty: "hello world" };
被解析如下:
<< return statement >>
<< pointless object literal expression >>
而且不爲:
<< return statement with return value expression >>
返回一個對象值,您的代碼看起來像這個:
return {
myProperty: "hello world"
};
與{
上在同一行作爲return
。
但是我有一個防火牆來防止這個,現在呢? – 2011-03-28 18:42:55
我想你的意思是分號插入。 – 2011-03-28 18:43:26
@Stack Guru,我可以從哪裏獲得防火牆? – 2011-03-28 18:43:34
你在做什麼? – canon 2011-03-28 18:41:58
嘗試從我的函數返回一個對象。 – 2011-03-28 18:44:44
我很想試圖解決這個問題,但有幾個人已經回答了。該函數中有兩個語法錯誤。解決這兩個問題,它會按預期工作。 – 2011-03-28 18:48:38