hanyeah 专注于AS

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,会报错。

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



2023年2月27日 | 发布:hanyeah | 分类:js相关 | 评论:0

发表留言: