快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

JavaScript如何使用Function()构造函数

这篇文章主要介绍JavaScript如何使用Function()构造函数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、江油网络推广、微信小程序定制开发、江油网络营销、江油企业策划、江油品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供江油建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

Function()构造函数

先看代码:

var f = new Function("x","y","return x+y"); //Function()构造函数
var f = function(x,y){return x+y}; //这两条代码是等价的

通过这个方法我们可以传入任意数量的字符串实参,而且最后一个实参所表示的文本是函数体,这个方法它是可以包含任意数量的JavaScript语句的,而且在使用的时候如果构造的函数不包含任何参数的话,我们只需要输入一个函数就可以了。这个方法和其他两个方法是不一样的,这个方法是允许JavaScript在运行的时候动态地创建翻译函数,而且我们每次在调用这个方法的时候函数都会进行解析函数体。所以在多次使用或者循环使用的话,效率是会受到影响的。相比之下循环中的嵌套函数和函数定义表达式就不会每次执行的时候进行重新编译。

对于这个构造函数还有一点是值得我们注意的,那就是它所创建的函数并不是使用词法作用域,都因为函数体代码在编译的时候总在顶层函数执行,代码如下所示:

var a = 3; //在顶层函数中声明变量a
function f(){
var a = 2; //在函数体内声明局部变量a
return new Function("return a*a;"); //无法捕获局部作用域
}
console.log(f()()); //控制台输出9而非4,说明构造函数的编译在顶层函数执行

那么对于这个问题我们可以在全局作用域中进行执行eval()。

以上是“JavaScript如何使用Function()构造函数”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


本文名称:JavaScript如何使用Function()构造函数
网页链接:http://6mz.cn/article/ihdpso.html

其他资讯