我想在JavaScript中执行以下操作:
var myObject.name = myString;
function newFunction(){myObject.name}
是否可以使用字符串作为函数的内容?你怎么把它转换成可用的?
答案 0 :(得分:2)
好的,我得到了你想做的事。你可以这样做:
var newFunction = new Function(myObject.name);
这意味着如果myObject.name
等于"alert('it works')"
,当您致电newFunction()
时,您会收到提醒。 (new Function(code)
是eval
的替代方案,专门用于您正在做的事情。)
但这在JavaScript(以及一般的编程)中被认为是非常糟糕的做法,因为可以改变自身的代码很快就会变得无法管理,并且通常有更好的方法来做事。除非你告诉我们你在做什么,否则我不能说更好的方式。
答案 1 :(得分:1)
您可以使用eval()
执行此操作,假设myObject.name
包含有效的Javascript:
function newFunction(){ eval( myObject.name ); };
答案 2 :(得分:0)
JavaScript有the eval()
function,但这通常不是您想要使用的功能......
然后你会写:
var myObject.name = myString;
function newFunction() {
eval(myObject.name);
}
然而,这通常是一个危险而且不好的主意 - 在更高的层面上,你想做什么?
答案 3 :(得分:0)
我相信你希望myString
举行代码,对吧?
您可以使用eval()
MDN docs方法执行该代码。
function newFunction(){ eval(myObject.name); }
警告!
请务必阅读Don't use eval!部分..