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 相关文章推荐
从盛大通行证上摘下来的身份证验证js代码
Jan 11 Javascript
html超链接打开窗口大小的方法
Mar 05 Javascript
jquery统计输入文字的个数并对其进行判断
Jan 07 Javascript
AngularJS基础 ng-keydown 指令简单示例
Aug 02 Javascript
Backbone中View之间传值的学习心得
Aug 09 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
Aug 23 Javascript
详解weex默认webpack.config.js改造
Jan 08 Javascript
JavaScript对象拷贝与赋值操作实例分析
Dec 10 Javascript
vue 搭建后台系统模块化开发详解
May 01 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
Aug 12 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
Apr 07 Javascript
Vue+Element-U实现分页显示效果
Nov 15 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
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
2019/09/26 PHP
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
Bootstrap Table使用整理(三)
2017/06/09 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
微信小程序云开发之数据库操作
2019/05/18 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
python生成日历实例解析
2014/08/21 Python
Python入门篇之函数
2014/10/20 Python
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
python实现图片筛选程序
2018/10/24 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
python面试题小结附答案实例代码
2019/04/11 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
python3中rank函数的用法
2019/11/27 Python
python小项目之五子棋游戏
2019/12/26 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
浅析NumPy 切片和索引
2020/09/02 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
房展策划方案
2014/06/07 职场文书
党的群众路线对照检查材料(个人)
2014/09/24 职场文书
骨干教师考核评语
2014/12/31 职场文书