大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > JavaScript技巧 > 你可能不知道的JavaScript的new Function()方法

你可能不知道的JavaScript的new Function()方法

关键词:JavaScriptnewFunction()方法  阅读(654) 赞(20)

[摘要]JavaScript的精神领袖Douglas Crockford曾说过JavaScript是程序员唯一不需要学习就能直接使用的语言. 在编程中确实是如此

我们大多数人都使用过JavaScript,近年来随着各种JavaScript框架的流行使得JavaScript变得更加神奇和容易。"Anonymous (匿名)函数?不知道那是什么但是看起来和自己所写的差不多。”
你可能并不知道可以传给 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模式,欢迎留言和讨论!


相关JavaScript技巧推荐

    暂时没有相关推荐



    相关评论