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 相关文章推荐
Dojo之路:如何利用Dojo实现Drag and Drop效果
Apr 10 Javascript
JQuery中extend的用法实例分析
Feb 08 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
Dec 29 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
Aug 19 Javascript
javascript实现右下角广告框效果
Feb 01 Javascript
详解Vue监听数据变化原理
Mar 08 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
Angularjs之ngModel中的值验证绑定方法
Sep 13 Javascript
全面了解JavaScript的作用域链
Apr 03 Javascript
js、jquery实现列表模糊搜索功能过程解析
Mar 27 jQuery
如何用JS实现网页瀑布流布局
Apr 24 Javascript
JavaScript原型链详解
Nov 07 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
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
javascript实现的listview效果
2007/04/28 Javascript
js解析与序列化json数据(一)json.stringify()的基本用法
2013/02/01 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
python实现合并两个数组的方法
2015/05/16 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
python 爬取小说并下载的示例
2020/12/07 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
商务英语毕业生自荐信范文
2013/11/08 职场文书
教育课题研究自我鉴定范文
2013/12/28 职场文书
中层竞聘演讲稿
2014/01/09 职场文书
晚会邀请函范文
2014/01/24 职场文书
小学生家长评语集锦
2014/01/30 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
2014年纪检工作总结
2014/11/12 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
护理自荐信
2019/05/14 职场文书