這是有史以來最令人困惑的事情。標題可能沒有多大意義。我盡力了。希望我能清楚。 好吧,我正在看谷歌頻道API的井字遊戲例子。將函數表達式傳遞給帶有變量的新函數()
在javascript部分。
他們有這樣的事情;
sendMessage = function(param) {
alert(param);
//this part actually sends message to server,
//for simplicity lets assume it pops up alert.
}
init = function(){
var input = 3;
var submitButton = document.getElementById('submitButton');
submitButton.onclick = new Function('sendMessage(' + input + ')');
}
setTimeout(init, 100);
這會彈出警告並打印3.我不確定這是如何工作的。但它的工作。如果可以解釋的話,那也會很棒。我找不到其他地方使用新的Function()。
的問題是,如果輸入的是一個字符串,
var input = "test";
,這並不工作,並沒有警覺彈出。
感謝您的任何解釋和幫助。
它的工作原理,它非常醜陋。你確定谷歌建議,而不是w3schools?提示:'Function()'~~'eval()' – 2013-02-16 07:28:39
好好爲你自己檢查一下。那是他們做的。 – btevfik 2013-02-16 07:32:01
http://code.google.com/p/channel-tac-toe/source/browse/trunk/index.html – btevfik 2013-02-16 07:33:00