javascript中深度函数eval()的替代方法

javascript中深度函数eval()的替代方法,javascript,eval,Javascript,Eval,可能重复: 我正在尝试寻找eval()的替代方案。我使用它从字符串调用函数 我知道window[“myFunction”](args),但我的函数在另一个对象中 例如,它可以是“myObject.anotherOne.myFunction”或“myObject.myFunction”或任何类型的深函数 有人有想法吗?直接传递函数,而不是传递函数名和使用eval var toCall = function () { console.log("toCall was called"); };

可能重复:

我正在尝试寻找
eval()
的替代方案。我使用它从字符串调用函数

我知道
window[“myFunction”](args)
,但我的函数在另一个对象中

例如,它可以是
“myObject.anotherOne.myFunction”
“myObject.myFunction”
或任何类型的深函数


有人有想法吗?

直接传递函数,而不是传递函数名和使用eval

var toCall = function () { 
  console.log("toCall was called");
};

// Call via eval
var evalSample = function (theName) { 
  ...
  eval(theName);
}
evalSample('toCall');

// Call via callback
var funcSample = function (theFunc) {
  ...
  theFunc();
};
funcSample(toCall);

与其传递函数名并使用eval,不如直接传递函数

var toCall = function () { 
  console.log("toCall was called");
};

// Call via eval
var evalSample = function (theName) { 
  ...
  eval(theName);
}
evalSample('toCall');

// Call via callback
var funcSample = function (theFunc) {
  ...
  theFunc();
};
funcSample(toCall);

不确定你在这里找什么。。。
eval()
做错了什么?你想干什么?这不是复制品。链接副本是关于对象值的,我需要调用一个函数。事实上,它给了我实现目标的想法,但我还没有完成。我真的不确定你在这里寻找什么。。。
eval()
做错了什么?你想干什么?这不是复制品。链接副本是关于对象值的,我需要调用一个函数。事实上,它给了我实现目标的想法,但我还没有完成。在我的例子中,函数名不是一个选项。这就是我的全部。在我的例子中,传递函数名不是一个选项。我只有这些了。