我已经遇到了一些代码,它允许你函数名的字符串转换为一个函数,并使用它:将JavaScript字符串转换为对象方法并调用它?
var strFun = "someFunction";
var strParam = "this is the parameter";
//Create the function
var fn = window[strFun];
//Call the function
fn(strParam);
我想知道是否有办法做到为对象的方法相同,例如:
var fn = window["onclick"];
var body = document.body;
body.onclick = function() {
alert('yo');
}
// This won't work [Uncaught TypeError: Object #<HTMLBodyElement> has no method 'fn']
body.fn(); // expecting body.onclick(); via substitution of fn with a onclick function
什么不起作用? – rlemon 2012-04-05 03:05:44
哎呦我抽象地思考,我忘了那是有效的JavaScript代码,我重新说了我想说的话。 – Derek 2012-04-05 03:11:34
@Derek:你的代码仍然没有意义。你正在创造一件事,并打电话给另一件事。 – 2012-04-05 03:14:24