function fSub(obj){
alert(obj.innerText);
}方法1:
function f1(){
var obj = document.getElementById('div01');
var method = eval("fSub");
method(obj);
}方法2:
function f2(){
var obj = document.getElementById('div01');
var strMethod = "fSub(\""+obj+"\")";
eval(strMethod );
}
方法1,和方法2的区别?
现在如果传入参数为对象时候,方法2不能正确运行。这两种操作的却别是什么呢?
alert(obj.innerText);
}方法1:
function f1(){
var obj = document.getElementById('div01');
var method = eval("fSub");
method(obj);
}方法2:
function f2(){
var obj = document.getElementById('div01');
var strMethod = "fSub(\""+obj+"\")";
eval(strMethod );
}
方法1,和方法2的区别?
现在如果传入参数为对象时候,方法2不能正确运行。这两种操作的却别是什么呢?
第一种:相当于method = fSub;
method(obj) 相当于 fSub(obj)
第二种:"fSub(\""+obj+"\")";这么写是错的
var strMethod = "fSub(obj)";
我也不想这么写,"fSub(\""+obj+"\")";
该死的客户提供的一个API,函数里是这样的,我不能改动。
只能设想更改fSub函数了,有没有别的办法能够转过来呢。
eval("fSub(obj)");
》人家不是已经告诉你了么
》eval("fSub(obj)");
我知道这么写可以,但是fSub(\""+obj+"\")是必须这么写的,客户给的API,不能修改。
所以我想能在fSub函数,转过来吗?