JS函数定义方式的区别介绍


Posted in Javascript onMarch 22, 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 相关文章推荐
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
Nov 30 Javascript
jQuery判断复选框是否勾选的原理及示例
May 21 Javascript
jQuery中on()方法用法实例
Jan 19 Javascript
jQuery实现下滑菜单导航效果代码
Aug 25 Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 Javascript
js图片跟随鼠标移动代码
Nov 26 Javascript
基于Bootstrap重置输入框内容按钮插件
May 12 Javascript
windows下vue-cli导入bootstrap样式
Apr 25 Javascript
angularjs定时任务的设置与清除示例
Jun 02 Javascript
bootstrap table服务端实现分页效果
Aug 10 Javascript
vue组件发布到npm简单步骤
Nov 30 Javascript
在vue中封装可复用的组件方法
Mar 01 Javascript
基于javascript制作经典传统的拼图游戏
Mar 22 #Javascript
javascript函数命名的三种方式及区别介绍
Mar 22 #Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
Nov 25 #Javascript
JS中多种方式创建对象详解
Mar 22 #Javascript
基于jquery实现无限级树形菜单
Mar 22 #Javascript
javascript的几种继承方法介绍
Mar 22 #Javascript
基于javascript实现文字无缝滚动效果
Mar 22 #Javascript
You might like
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
JQuery里面的几种选择器 查找满足条件的元素$(&quot;#控件ID&quot;)
2011/08/23 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
javaScript arguments 对象使用介绍
2013/10/18 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
Django单元测试中Fixtures的使用方法
2020/02/26 Python
python如何判断IP地址合法性
2020/04/05 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
小学清明节活动方案
2014/03/08 职场文书
爱情寄语大全
2014/04/09 职场文书
爱护公物演讲稿
2014/09/09 职场文书
委托书英文
2015/01/28 职场文书
兵马俑的导游词
2015/02/02 职场文书
应届毕业生自荐信
2015/03/04 职场文书
幸福终点站观后感
2015/06/04 职场文书
结婚纪念日感言
2015/08/01 职场文书
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android
JS实现简单九宫格抽奖
2022/06/28 Javascript