Javascript 使用对象的名称运行函数
我想用JavaScript执行以下操作:Javascript 使用对象的名称运行函数,javascript,Javascript,我想用JavaScript执行以下操作: var myObject.name = myString; function newFunction(){myObject.name} 是否可以使用字符串作为函数的内容?如何将其转换为可用?您可以使用eval()执行此操作,前提是myObject.name包含有效的Javascript: function newFunction(){ eval( myObject.name ); }; 您可以使用eval()来执行此操作,前提是myObject.n
var myObject.name = myString;
function newFunction(){myObject.name}
是否可以使用字符串作为函数的内容?如何将其转换为可用?您可以使用eval()
执行此操作,前提是myObject.name
包含有效的Javascript:
function newFunction(){ eval( myObject.name ); };
您可以使用eval()
来执行此操作,前提是myObject.name
包含有效的Javascript:
function newFunction(){ eval( myObject.name ); };
JavaScript有,但这通常不是您想要使用的函数
然后你会写:
var myObject.name = myString;
function newFunction() {
eval(myObject.name);
}
然而,这通常是一个危险且不好的主意-从更高的层次上讲,你想做什么?JavaScript有,但通常你不想使用这个函数
然后你会写:
var myObject.name = myString;
function newFunction() {
eval(myObject.name);
}
然而,这通常是一个危险而糟糕的想法——从更高的层面上讲,你想做什么?我相信你想要
myString
保存代码,对吗
您可以使用该方法执行该代码
警告强>
但是一定要阅读这一部分。我相信你想要
myString
保存代码,对吗
您可以使用该方法执行该代码
警告强>
不过,一定要阅读这一部分。好的,我明白你的意思了。您可以这样做:
var newFunction = new Function(myObject.name);
这意味着如果myObject.name
等于“警报('it works')”
,当您调用newFunction()
时,您将收到警报。(newfunction(code)
是eval
的替代品,特别适用于您正在执行的操作。)
但在JavaScript中(以及在一般编程中),这被认为是非常糟糕的做法,因为可以改变自身的代码很快就会变得不可管理,而且通常有更好的方法来处理。除非你告诉我们你在做什么,否则我说不出更好的方法是什么 好吧,我明白你的意思了。您可以这样做:
var newFunction = new Function(myObject.name);
这意味着如果myObject.name
等于“警报('it works')”
,当您调用newFunction()
时,您将收到警报。(newfunction(code)
是eval
的替代品,特别适用于您正在执行的操作。)
但在JavaScript中(以及在一般编程中),这被认为是非常糟糕的做法,因为可以改变自身的代码很快就会变得不可管理,而且通常有更好的方法来处理。除非你告诉我们你在做什么,否则我说不出更好的方法是什么 我很难理解你想做什么。函数应该做些什么,而字符串和其他基本类型应该做些什么。为什么要创建一个只包含字符串的函数?这里不清楚您的意图。您发布的代码是有效的,但不会“执行”任何操作。您可以
返回myObject.name
将字符串从函数中取出,但除非这是您想要的,否则我们需要更多地了解您的目标。我认为他希望字符串成为函数的主体。像myString=“return x;”“
-在这种情况下,他可以使用eval()
您想将字符串myObject.name
的内容视为javascript并执行它吗?如果是这样,您可以使用或类似地使用:var myObject.name=“x=1,y=1”函数(){myObject.name;var myArray=[];myArray=myObject.name;return myArray}
我无法理解您试图执行的操作。函数应该执行某些操作,而字符串和其他基本类型应该执行某些操作。为什么要创建一个只包含字符串的函数?此处不清楚您的意图。您发布的代码是有效的,但不是“执行”的“什么都行。您可以返回myObject.name
将字符串从函数中取出,但除非这是您想要的,否则我们需要更多地了解您的目标。我认为他希望字符串成为函数的主体。像myString=“return x;”“
-在这种情况下,他可以使用eval()
您想将字符串myObject.name
的内容视为javascript并执行它吗?如果是这样,您可以使用或类似地使用:var myObject.name=“x=1,y=1”function(){myObject.name;var myArray=[];myArray=myObject.name;return myArray}
与使用eval()
的解决方案相比,我更喜欢这种方法。它在语法上更清晰一些。+1.我喜欢这种方法,而不是使用eval()的解决方案
。它在语法上有点简洁。+1。