27
2023
02

javascript字符串转Function

动态生成js代码,并运行。

我们知道可以用evel。

还可以用new Function。

参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function

比如:

var a = {};
a.b = new Function();
a.b();

可以定义带参数的函数,如:

var a = {};
a.b = new Function('a','b', 'var c = a + b; \nreturn c * 2; ');
a.b();

函数的作用于和evel有差别,如:

var a = {var x = 1};
a.b = new Function('a','b', 'console.log(x); \nvar c = a + b; \nreturn c * 2; ');
a.b();

取不到x,会报错。

全局的参数可以取到。只能取到全局作用于和自己本地作用于中的变量的值。



« 上一篇下一篇 »

相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。