浅谈JS函数定义方式的区别


Posted in Javascript onOctober 30, 2016

关于JS的函数定义方式有以下两种:

(1)典型的函数声明

function slide(arguments){
//...code
}

(2)以函数表达式的形式定义函数

var slide = function(arguments){
//...code
}

虽然上面两种方式逻辑上是等价的,但是还是有点小区别:

区别一:例一中的函数会在代码执行以前被加载到作用域中,而例二则是在代码执行到那一行的时候才会有定 义;

区别二:函数声明会给函数指定一个名字,而函数表达式则是创建一个匿名函数,然后将这个匿名函数赋给一个变量;

看下面例子:

function factorial(num){
if(num<=1){
return 1;
}
else {
return num*arguments.callee(num-1);
}
}
var anotherFactorial = factorial;
factorial = null;
console.log(anotherFactorial);//输出factorial(){},有函数名

若是以函数表达式定义

var factorial = function(num){
//...code
}
//...code
console.log(anotherFactorial);//输出function(){},匿名函数

以上就是小编为大家带来的浅谈JS函数定义方式的区别全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
javascript背投广告代码的完善
Apr 08 Javascript
jquery里的正则表达式说明
Aug 03 Javascript
在JavaScript中实现类的方式探讨
Aug 28 Javascript
jQuery中:has选择器用法实例
Dec 30 Javascript
JS动态修改iframe高度和宽度的方法
Apr 01 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
Feb 08 Javascript
node和vue实现商城用户地址模块
Dec 05 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
Dec 09 Javascript
JavaScrip数组去重操作实例小结
Jun 20 Javascript
纯js实现无缝滚动功能代码实例
Feb 21 Javascript
JS监听组合按键思路及实现过程
Apr 17 Javascript
如何使用JavaScript策略模式校验表单
Apr 29 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
Oct 30 #Javascript
原生js代码实现图片放大境效果
Oct 30 #Javascript
Angular2 多级注入器详解及实例
Oct 30 #Javascript
Javascript 跨域知识详细介绍
Oct 30 #Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
Oct 30 #Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
Oct 30 #Javascript
js模式化窗口问题![window.dialogArguments]
Oct 30 #Javascript
You might like
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
?算你??的 PHP 程式大小
2006/12/06 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
解析php file_exists无效的解决办法
2013/06/26 PHP
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
2016/08/23 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
js设置鼠标悬停改变背景色实现详解
2019/06/26 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
用实例说明python的*args和**kwargs用法
2013/11/01 Python
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
python正则表达式中的括号匹配问题
2014/12/14 Python
Python的time模块中的常用方法整理
2015/06/18 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
在双python下设置python3为默认的方法
2018/10/31 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
Python几种常见算法汇总
2020/06/02 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
python中翻译功能translate模块实现方法
2020/12/17 Python
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
夜大毕业自我鉴定
2013/10/11 职场文书
面试求职的个人自我评价
2013/11/16 职场文书
管理部部长岗位职责
2013/12/05 职场文书
学生党支部先进事迹
2014/02/04 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
贫困证明怎么写
2015/06/16 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python