浅谈JS函数定义方式的区别


Posted in Javascript onOctober 30, 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 相关文章推荐
编写针对IE的JS代码两种编写方法
Jan 30 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
Apr 07 Javascript
jquery实现邮箱自动补全功能示例分享
Feb 17 Javascript
JavaScript插件化开发教程(五)
Feb 01 Javascript
纯js模拟div层弹性运动的方法
Jul 27 Javascript
百度地图api如何使用
Aug 03 Javascript
js实现网站最上边可关闭的浮动广告条代码
Sep 04 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
Jan 22 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
Nov 04 Javascript
详解react-webpack2-热模块替换[HMR]
Aug 03 Javascript
微信小程序云开发之数据库操作
May 18 Javascript
layui实现数据表格自定义数据项
Oct 26 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
Oct 30 #Javascript
原生js代码实现图片放大境效果
Oct 30 #Javascript
Angular2 多级注入器详解及实例
Oct 30 #Javascript
Javascript 跨域知识详细介绍
Oct 30 #Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
Oct 30 #Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
Oct 30 #Javascript
js模式化窗口问题![window.dialogArguments]
Oct 30 #Javascript
You might like
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
php+croppic.js实现剪切上传图片功能
2018/08/14 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
jquery validate demo 基础
2015/10/29 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
简单的Vue异步组件实例Demo
2017/12/27 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
virtualenv实现多个版本Python共存
2017/08/21 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
python的sys.path模块路径添加方式
2020/03/09 Python
如何使用python记录室友的抖音在线时间
2020/06/29 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
html5简介及新增功能介绍
2020/05/18 HTML / CSS
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
告诉你怎样写创业计划书
2014/01/27 职场文书
竞聘书模板
2014/03/31 职场文书
学生会部长竞聘书
2014/03/31 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python