我试图将一个私有变量放入一个已经存在的函数中,例如:
var AObject={
get:function(s){
return s.toLowerCase()+a;
}
}
function temp(){
var a="A";
var o={};
eval("o.get="+AObject.get.toString());
reurn o;
}
var bObject=temp();
BObject.get("B"); // "bA"
BObject.get(); /* error: s is undefined; but marked in line "return o;"
and not in "return s.toLowerCase()+a;"*/
我的目标是运行 get() 函数,该函数由现有的 AObject 拥有,带有私有 var ...我使用 eval(或 new Function)获得它,但不幸的是调试器将被破坏!
那么,有没有一种方法可以在不使用 eval 的情况下实现这一点,或者有一种方法可以使用 eval 并保持调试器有用?