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 相关文章推荐
麻雀虽小五脏俱全 Dojo自定义控件应用
Sep 04 Javascript
javascript延时加载之defer测试
Dec 28 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
Dec 04 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
Mar 04 Javascript
JavaScript 基础函数_深入剖析变量和作用域
May 18 Javascript
jQuery Easyui datagrid/treegrid 清空数据
Jul 09 Javascript
Backbone View 之间通信的三种方式
Aug 09 Javascript
总结javascript中的六种迭代器
Aug 16 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
May 26 Javascript
使用selenium抓取淘宝的商品信息实例
Feb 06 Javascript
详解Vue组件之作用域插槽
Nov 22 Javascript
深入学习JavaScript中的bom
May 27 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
实用函数2
2007/11/08 PHP
PHP文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
PHP封装的数据库保存session功能类
2016/07/11 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
javascript 精粹笔记
2010/05/09 Javascript
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
树结构之JavaScript
2017/01/24 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
总经理助理的八要求
2013/11/12 职场文书
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
小班下学期评语
2014/05/04 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
朋友离别感言
2015/08/04 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技