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 图片轮播(5张图片)
Dec 30 Javascript
javascript 自动填写表单的实现方法
Apr 09 Javascript
用Js实现的动态增加表格示例自己写的
Oct 21 Javascript
jquery实现图片灯箱明暗的遮罩效果
Nov 15 Javascript
鼠标滑过出现预览的大图提示效果
Feb 26 Javascript
js实现上传图片预览的方法
Feb 09 Javascript
canvas绘制万花筒效果(代码分享)
Jan 20 Javascript
jquery的 filter()方法使用教程
Mar 22 jQuery
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
Sep 14 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
Apr 25 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
Jul 22 Javascript
在vue中使用jsonp进行跨域请求接口操作
Oct 29 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
建站常用13种PHP开源CMS比较
2009/08/23 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
实现PHP搜索加分页
2016/10/12 PHP
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
2013/01/27 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
JavaScript面对国际化编程时的一些建议
2015/06/24 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
python编写简单爬虫资料汇总
2016/03/22 Python
Django接受前端数据的几种方法总结
2016/11/04 Python
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
CSS3用@font-face实现自定义英文字体
2013/09/23 HTML / CSS
大学生实习期自我评价范文
2013/10/03 职场文书
大学毕业的自我鉴定
2013/10/08 职场文书
实用求职信范文分享
2013/12/25 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
学校安全管理责任书
2014/07/23 职场文书
企业整改报告范文
2014/11/08 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Python机器学习之基础概述
2021/05/19 Python
Mysql 如何查询时间段交集
2021/06/08 MySQL
详解Spring Boot使用系统参数表提升系统的灵活性
2021/06/30 Java/Android
python中__slots__节约内存的具体做法
2021/07/04 Python
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
python中redis包操作数据库的教程
2022/04/19 Python