这是有史以来最令人困惑的事情。标题可能没有多大意义。我尽力了。希望我能清楚。 好吧,我正在看谷歌频道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