【发布时间】:2014-12-05 21:09:05
【问题描述】:
如果我将一个函数放入这样的字符串中:
var functionString = function (message) {
console.log(message);
}.toString();
有没有办法将字符串转换回函数并调用它? 我试过了
eval(functionString)
返回“Uncaught SyntaxError: Unexpected token”,并且
functionString.call(this, "HI!");
返回“未定义不是函数”。
这在 javascript 中是否可行?
提前感谢您的回复!
编辑:这个问题的重点是该函数已使用 toString() 转换为字符串。所以
console.log(functionString);
返回这个字符串: “函数(消息){console.log(消息);}”
我可以将字符串转换回函数并调用它吗?这就是我要解决的问题。 谢谢!
【问题讨论】:
-
如果您准确地发布字符串中的内容会有所帮助。
-
你可以在函数内部执行“return message.toString()”
-
有可能,是的,但你到底想做什么?
-
epascarello,我想将字符串转换回函数。布赖恩,我不想调用现有函数。我想把整个字符串转换成一个函数。
标签: javascript function eval tostring