你可能不知道的JavaScript的new Function()方法_javascript技巧
程序员文章站
2022-05-14 17:25:38
...
我们大多数人都使用过JavaScript,近年来随着各种JavaScript框架的流行使得JavaScript变得更加神奇和容易。"Anonymous (匿名)函数?不知道那是什么但是看起来和自己所写的差不多。”
你可能并不知道可以传给 new Function() 一个字符串作为函数的body来构造一个 JavaScript函数。编程中并不经常用到,但有时候应该是很有用的.
// 最后一个参数是函数的 body(函数体),类型为 string;
// 前面的参数都是 索要构造的函数的参数(名字)
var myFunction = new Function('users', 'salary', 'return users * salary');
非常简单,对吧?
(function(win) {
// 在全局环境中执行某些操作
})(Function('return this')());
如果你曾经使用过 new Function模式,欢迎留言和讨论!
你可能并不知道可以传给 new Function() 一个字符串作为函数的body来构造一个 JavaScript函数。编程中并不经常用到,但有时候应该是很有用的.
下面是 new Function 的基本用法:
复制代码 代码如下:
// 最后一个参数是函数的 body(函数体),类型为 string;
// 前面的参数都是 索要构造的函数的参数(名字)
var myFunction = new Function('users', 'salary', 'return users * salary');
非常简单,对吧?
问题是:什么时候适合使用这种方式,而不使用传统的函数声明 function myFnName() 和/或 匿名函数定义? Andrea Giammarchi 认为,最适合使用 这种函数定义方式的场景是在NodeJS和浏览器的全局环境中:
复制代码 代码如下:
(function(win) {
// 在全局环境中执行某些操作
})(Function('return this')());
如果你曾经使用过 new Function模式,欢迎留言和讨论!
上一篇: 使用curl模拟ip实例详解
下一篇: 信用卡效验程序哦
推荐阅读
-
Javascript调试之console对象——你不知道的一些小技巧
-
你可能还不知道的关于JavaScript类型的细节?
-
JavaScript你不知道的一些数组方法
-
10个你可能不知道的JavaScript小技巧
-
JavaScript检查某个function是否是原生代码的方法_javascript技巧
-
js报$ is not a function 的问题的解决方法_javascript技巧
-
js function定义函数的几种不错方法_javascript技巧
-
JavaScript检查某个function是否是原生代码的方法_javascript技巧
-
function, new function, new Function之间的区别_javascript技巧
-
js function定义函数的几种不错方法_javascript技巧