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 相关文章推荐
Javascript remove 自定义数组删除方法
Oct 20 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
Nov 23 Javascript
原生javascript实现图片按钮切换
Jan 12 Javascript
JS仿百度自动下拉框模糊匹配提示
Jul 25 Javascript
超详细的JS弹出窗口代码大全
Apr 18 Javascript
深入理解bootstrap框架之入门准备
Oct 09 Javascript
JS制作适用于手机和电脑的通知信息效果
Oct 28 Javascript
深入理解vue路由的使用
Mar 24 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
May 11 Javascript
详解搭建es6+devServer简单开发环境
Sep 25 Javascript
javascript实现切割轮播效果
Nov 28 Javascript
javascript实现支付宝滑块验证码效果
Jul 24 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
PHP 截取字符串专题集合
2010/08/19 PHP
PHP操作数组相关函数
2011/02/03 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
php获取图片信息的方法详解
2015/12/10 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
Php多进程实现代码
2018/05/07 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
教职工代表大会主持词
2014/04/01 职场文书
创新社会管理心得体会
2014/09/12 职场文书
2014年班组工作总结
2014/11/20 职场文书
幼师个人总结范文
2015/02/28 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
创业计划书之便利店
2019/09/05 职场文书
Python使用Kubernetes API访问集群
2021/05/30 Python
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs
windows系统安装配置nginx环境
2022/06/28 Servers