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页面顶部卷动广告效果
Dec 01 Javascript
Jquery+WebService 校验账号是否已被注册的代码
Jul 12 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
Apr 12 Javascript
jQuery实现表格行上下移动和置顶效果
Jun 05 Javascript
jQuery获取file控件中图片的宽高与大小
Aug 04 Javascript
javascript 中的console.log和弹出窗口alert
Aug 30 Javascript
使用JS读取XML文件的方法
Nov 25 Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 Javascript
javascript回调函数详解
Feb 06 Javascript
微信小程序如何像vue一样在动态绑定类名
Apr 17 Javascript
Vue项目中跨域问题解决方案
Jun 05 Javascript
vue实现绑定事件的方法实例代码详解
Jun 20 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
MYSQL环境变量设置方法
2007/01/15 PHP
php实现的MySQL通用查询程序
2007/03/11 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
JS 实现完美include载入实现代码
2010/08/05 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python字符串对其居中显示的方法
2015/07/11 Python
python读取和保存图片5种方法对比
2018/09/12 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
python实现canny边缘检测
2020/09/14 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
婚前协议书怎么写
2014/04/15 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
感恩教育主题班会
2015/08/12 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android