浅谈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获取当前日期时间及其它操作函数
Jan 11 Javascript
jquery键盘事件介绍
Jan 31 Javascript
jquery 之 $().hover(func1, funct2)使用方法
Jun 14 Javascript
jQuery实现表头固定效果的实例代码
May 24 Javascript
JS获取地址栏参数的小例子
Aug 23 Javascript
jquery+javascript编写国籍控件
Feb 12 Javascript
jQuery使用unlock.js插件实现滑动解锁
Apr 04 jQuery
Angularjs中的$apply及优化使用详解
Jul 02 Javascript
Vue表单输入绑定的示例代码
Nov 01 Javascript
video.js 一个页面同时播放多个视频的实例代码
Nov 27 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
Sep 25 Javascript
js实现移动端轮播图滑动切换
Dec 21 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
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
Laravel + Elasticsearch 实现中文搜索的方法
2020/02/02 PHP
DWR Ext 加载数据
2009/03/22 Javascript
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
简单上手Python中装饰器的使用
2015/07/12 Python
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
python读写json文件的简单实现
2017/04/11 Python
python使用thrift教程的方法示例
2019/03/21 Python
python实现弹跳小球
2019/05/13 Python
django框架model orM使用字典作为参数,保存数据的方法分析
2019/06/24 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
运动会通讯稿50字
2014/01/30 职场文书
儿童生日会策划方案
2014/05/15 职场文书
个人查摆剖析材料
2014/10/04 职场文书
2014年团总支工作总结
2014/11/21 职场文书
打架检讨书范文
2015/01/27 职场文书
python中%格式表达式实例用法
2021/06/18 Python