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 相关文章推荐
jquery 双色表格实现代码
Dec 08 Javascript
jQuery阻止冒泡和HTML默认操作
Nov 17 Javascript
关于COOKIE个数与大小的问题
Jan 17 Javascript
Node.js中的事件驱动编程详解
Aug 16 Javascript
JS判断元素是否在数组内的实现代码
Mar 30 Javascript
zTree实现节点修改的实时刷新功能
Mar 20 Javascript
Node学习记录之cluster模块
May 31 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
Nov 25 Javascript
js实现带搜索功能的下拉框
Jan 11 Javascript
js实现百度登录窗口拖拽效果
Mar 19 Javascript
jQuery编写QQ简易聊天框
Aug 27 jQuery
如何通过JS实现日历简单算法
Oct 14 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
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
2013/01/27 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
pandas中去除指定字符的实例
2018/05/18 Python
Python嵌套列表转一维的方法(压平嵌套列表)
2018/07/03 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
大专应届生个人的自我评价
2013/11/21 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
年检委托书
2014/08/30 职场文书
离婚协议书范文2015
2015/01/26 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
Spring中bean集合注入的方法详解
2022/07/07 Java/Android