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


Posted in Javascript onApril 17, 2014

我们大多数人都使用过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 相关文章推荐
javascript编程起步(第七课)
Feb 27 Javascript
javascript replace()正则替换实现代码
Feb 26 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
Aug 15 Javascript
jQuery写fadeTo示例代码
Feb 21 Javascript
jQuery实现右键菜单、遮罩等效果代码
Sep 27 Javascript
js控制li的隐藏和显示实例代码
Oct 15 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
Jan 31 Javascript
vue mint-ui tabbar变组件使用
May 04 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
Sep 16 Javascript
微信小程序 弹窗输入组件的实现解析
Aug 12 Javascript
JavaScript的变量声明与声明提前用法实例分析
Nov 26 Javascript
JavaScript 中的无穷数(Infinity)详解
Feb 13 Javascript
在JS中解析HTML字符串示例代码
Apr 16 #Javascript
iframe的onreadystatechange事件在firefox下的使用
Apr 16 #Javascript
javascript打开word文档的方法
Apr 16 #Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
Apr 16 #Javascript
JavaScript两种跨域技术全面介绍
Apr 16 #Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
Apr 16 #Javascript
JavaScript框架(iframe)操作总结
Apr 16 #Javascript
You might like
通达OA公共代码 php常用检测函数
2011/12/14 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
2013/06/17 Javascript
把jQuery的类、插件封装成seajs的模块的方法
2014/03/12 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
Node.js编码规范
2014/07/14 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
python实现文件分组复制到不同目录的例子
2014/06/04 Python
Python3 能振兴 Python的原因分析
2014/11/28 Python
tensorflow获取变量维度信息
2018/03/10 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
使用python3构建文件传输的方法
2019/02/13 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
耐克亚太地区:Nike APAC
2019/12/07 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
不打扫卫生检讨书
2014/02/12 职场文书
奥利奥广告词
2014/03/20 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
中考学习决心书
2015/02/04 职场文书
团干部培训班心得体会
2016/01/06 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang