JS中创建函数的三种方式及区分_

JS中创建函数的三种方式及区分_

ID:63497271

大小:12.61 KB

页数:5页

时间:2021-08-24

JS中创建函数的三种方式及区分__第1页
JS中创建函数的三种方式及区分__第2页
JS中创建函数的三种方式及区分__第3页
JS中创建函数的三种方式及区分__第4页
JS中创建函数的三种方式及区分__第5页
资源描述:

《JS中创建函数的三种方式及区分_》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、JS中创建函数的三种方式及区分_这篇文章主要介绍了js函数的多种定义方法与其区分,特别的具体,有需要的小伙伴可以参考下1.函数声明functionsum1(n1,n2){returnn1+n2;};2.函数表达式,又叫函数字面量varsum2=function(n1,n2){returnn1+n2;};两者的区分:解析器会先读取函数声明,并使其在执行任何代码之前可以访问;而函数表达式则必需等到解析器执行到它所在的代码行才会真正被说明执行。自执行函数严格来说也叫函数表达式,它主要用于创建一个新的作用域,在此作用域内声明的变量,不会和其它作用域内的变量冲突或混淆,大多是以匿名函数方式存在,且立

2、刻自动执行。(function(n1,n2){console.log(n1+n2)})(1,3);//4另外几种自执行函数://可用来传参(function(x,y){console.log(x+y);})(2,3);//带返回值varsum=(function(x,y){returnx+y;})(2,3);console.log(sum);~function(){varname='~'console.log(name);}();!function(){varname='!'console.log(name);}();;(function(){varname=';'console.log(

3、name);})();-function(){varname='-'console.log(name);}();//逗号运算符1,function(){varname=',';console.log(name);}();//异或1^function(){varname='^';console.log(name);}();//比较运算符1function(){varname='';console.log(name);}();~+-!(function(){varname='~+-!';console.log(name);})();~!(function(){varname='~!';cons

4、ole.log(name);})();(function(){varname='call';console.log(name);}).call();(function(){varname='apply';console.log(name);}).apply();3.函数构造法,参数必需加引号varsum3=newFunction('n1','n2','returnn1+n2');console.log(sum3(2,3));//5从技术角度讲,这是一个函数表达式。一般不推举用这种方法定义函数,由于这种语法会导致解析两次代码(第一次是解析常规ECMAScript代码,其次次是解析传入构造函数

5、中的字符串),从而影响性能。varname='haoxl';functionfun(){varname='lili';returnnewFunction('returnname');//不能猎取局部变量}console.log(fun()());//haoxlFunction()构造函数每次执行时都会解析函数主体,并创建一个新的函数对象,所以当在一个循环或频繁执行的函数中调用Function()构造函数效率是特别低的。而函数字面量却不是每次遇到都会重新编译的,用Function()构造函数创建一个函数时并不遵循典型的作用域,它始终把它当作是顶级函数来执行。...

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。