你可能不知道的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 相关文章推荐
jQuery获取样式中的背景颜色属性值/颜色值
Dec 17 Javascript
多引号嵌套的变量命名的问题
May 09 Javascript
JavaScript获取function所有参数名的方法
Oct 30 Javascript
原生JS实现图片轮播与淡入效果的简单实例
Aug 21 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
Dec 01 Javascript
Vue自定义指令详解
Jul 28 Javascript
Vue 2.0学习笔记之Vue中的computed属性
Oct 16 Javascript
解决vue项目报错webpackJsonp is not defined问题
Mar 14 Javascript
通过jQuery学习js类型判断的技巧
May 27 jQuery
前端vue-cli项目中使用img图片和background背景图的几种方法
Nov 13 Javascript
vue项目或网页上实现文字转换成语音播放功能
Jun 09 Javascript
解决Vue @submit 提交后不刷新页面问题
Jul 18 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
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
记录几个javascript有关的小细节
2007/04/02 Javascript
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
javascript 函数使用说明
2010/04/07 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
Angular6中使用Swiper的方法示例
2018/07/09 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
使用js和canvas实现时钟效果
2020/09/08 Javascript
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
Python iter()函数用法实例分析
2018/03/17 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
python脚本开机自启的实现方法
2019/06/28 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
澳大利亚现代波西米亚风格女装网站:Bohemian Traders
2018/04/16 全球购物
偷看我的初中毕业鉴定
2014/01/29 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
导游带团欢迎词
2015/09/30 职场文书
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript
Windows server 2016服务器基本设置
2022/08/14 Servers