是否可以在纯JavaScript中重新实现'function'或'eval'?例如。我想我想写下面的内容:
// note that I don't want to have to put code in a string here
var x = func() { var something = "nothing"; return something; }
或
var hiString = 'hi' // note that it of course needs to be able to access the current context
evaluatize("function hi(){ alert(hiString); } hi();")
这些内容中的任何一个都可以在javascript中使用吗?
答案 0 :(得分:4)
您可以在JavaScript中编写JavaScript解释器,例如Narcissus。
答案 1 :(得分:1)
对于第一个,我不确定你是否在问一些不同的东西,但是这个有效:
var x = function() {return "cake";}
x();
答案 2 :(得分:0)
不,不可能这样做。
答案 3 :(得分:0)
如果您的需求很简单,那么您可以这样做:
var generator = function(input) {
return function() {alert(input)};
};
var helloFunction = generator("Hello, World.");
helloFunction(); // alerts "Hello, World."