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 相关文章推荐
WordPress JQuery处理沙发头像
Jun 22 Javascript
Visual Studio中的jQuery智能提示设置方法
Mar 27 Javascript
原生js和jquery中有关透明度设置的相关问题
Jan 08 Javascript
js实现a标签超链接提交form表单的方法
Jun 24 Javascript
九种原生js动画效果
Nov 11 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
Jun 14 Javascript
jQuery树形控件zTree使用小结
Aug 02 Javascript
详解Bootstrap的iCheck插件checkbox和radio
Aug 24 Javascript
Vue 按键修饰符处理事件的方法
May 04 Javascript
layui添加动态菜单与选项卡
Jul 26 Javascript
JavaScript实现省市区三级联动
Feb 13 Javascript
Element Popover 弹出框的使用示例
Jul 26 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
利用js调用后台php进行数据处理原码
2006/10/09 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
php字符串过滤与替换小结
2015/01/26 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
JavaScript 原型与继承说明
2010/06/09 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
jQuery extend()详解及简单实例
2017/05/06 jQuery
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
.NET程序员的数据库面试题
2012/10/10 面试题
客服服务心得体会
2013/12/30 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
学习经验交流会总结
2015/11/02 职场文书
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
使用Pytorch训练two-head网络的操作
2021/05/28 Python
Oracle 触发器trigger使用案例
2022/02/24 Oracle