日期:2014-05-16 浏览次数:20459 次
关于在javascript中动态执行方法,暂时想到两种办法。
js代码如下:
function dynamicInvocationMethod(mehodName){ eval(mehodName)("11");//① /* eval(mehodName)("Don't try to tell me what to do.");//② window[mehodName]();//③ window[mehodName]("Don't try to tell me what to say.");//④ */ } function sing(lyrics){ if(lyrics == null){//arguments.length == 0 alert("la la la!"); }else{ alert(lyrics); } }
?html代码如下:
<button onclick="dynamicInvocationMethod('sing')" >click</button>
?第一种方式是通过js里面的eval函数来实现的,也就是注释①和②。
第二种方式是通过调用window对象下的引用来实现的。JS中所有的函数在window对象中存在一个引用。JS把所有对象当做关联数组,所以可以通过这种方式来调用,也就是注释③和④
?
?