浅谈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 相关文章推荐
根据分辨率不同,调用不同的css文件
Jul 07 Javascript
模仿JQuery sortable效果 代码有错但值得看看
Nov 05 Javascript
jQuery学习2 选择器的使用说明
Feb 07 Javascript
jQuery中slice()方法用法实例
Jan 07 Javascript
js实现可输入可选择的select下拉框
Dec 21 Javascript
webpack学习教程之publicPath路径问题详解
Jun 17 Javascript
AjaxUpLoad.js实现文件上传功能
Mar 02 Javascript
javascript原型链学习记录之继承实现方式分析
May 01 Javascript
layui点击弹框页面 表单请求的方法
Sep 21 Javascript
Vue中computed和watch有哪些区别
Dec 19 Vue.js
JavaScript canvas实现跟随鼠标移动小球
Feb 09 Javascript
原生JS实现音乐播放器的示例代码
Feb 25 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遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
2016/05/17 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
浅谈Python 函数式编程
2020/06/20 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
what is the difference between ext2 and ext3
2013/11/03 面试题
《草虫的村落》教学反思
2014/02/16 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
娱乐节目策划方案
2014/06/10 职场文书
班级课外活动总结
2014/07/09 职场文书
初中班主任心得体会
2016/01/07 职场文书
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS