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 相关文章推荐
一个网页标题title的闪动提示效果实现思路
Mar 22 Javascript
jQuery.position()方法获取不到值的安全替换方法
Mar 13 Javascript
ES6中如何使用Set和WeakSet
Mar 10 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 Javascript
jQuery实现搜索页面关键字的功能
Feb 16 Javascript
响应式框架Bootstrap栅格系统的实例
Dec 19 Javascript
js实现继承的方法及优缺点总结
May 08 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
Jul 10 Javascript
vue-router跳转时打开新页面的两种方法
Jul 29 Javascript
JQuery 实现文件下载的常用方法分析
Oct 29 jQuery
深入浅析vue全局环境变量和模式
Apr 28 Javascript
详解Vue3.0 + TypeScript + Vite初体验
Feb 22 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制作简单的内容采集器的原理分析
2008/10/01 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
js 弹出菜单/窗口效果
2011/10/30 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
javascript验证身份证号
2015/03/03 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
Python中正则表达式的用法总结
2019/02/22 Python
Python递归函数实例讲解
2019/02/27 Python
简单了解django orm中介模型
2019/07/30 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
Python的in,is和id函数代码实例
2020/04/18 Python
python实现图片转字符画
2021/02/19 Python
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
有模特经验的简历自我评价
2013/09/19 职场文书
大二自我鉴定范文
2013/10/05 职场文书
公务员培训心得体会
2013/12/28 职场文书
法学院毕业生求职信
2014/06/25 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
党员个人总结范文
2015/02/14 职场文书
html form表单基础入门案例讲解
2021/07/21 HTML / CSS