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 相关文章推荐
让焦点自动跳转
Jul 01 Javascript
js电信网通双线自动选择技巧
Nov 18 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
May 17 Javascript
使用jQuery轻松实现Ajax的实例代码
Aug 16 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
Sep 26 Javascript
jquery提交form表单简单示例分享
Mar 03 Javascript
jQuery拖动元素并对元素进行重新排序
Dec 30 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
Mar 06 Javascript
JS之相等操作符详解
Sep 13 Javascript
vue 怎么创建组件及组件使用方法
Jul 27 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
Jan 30 Javascript
vue项目两种方式实现竖向表格的思路分析
Apr 28 Vue.js
基于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进行MySQL删除记录操作代码
2008/06/07 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
JS函数重载的解决方案
2014/05/13 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
深入解析Python中的集合类型操作符
2015/08/19 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
python 读取文件并替换字段的实例
2018/07/12 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
给幼儿园老师的表扬信
2014/01/19 职场文书
《木笛》教学反思
2014/03/01 职场文书
初中毕业生的自我评价
2014/03/03 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
门球健将观后感
2015/06/16 职场文书
筑梦中国心得体会
2016/01/18 职场文书
Windows server 2012搭建FTP服务器
2022/04/29 Servers