Javascript中函数声明与函数表达式的不同
定义函数的方式有两种:一种是函数声明,另一种是函数表达式。
函数声明的语法如下:
1 function functionName(arg0,arg1,arg2){ 2 //函数体 3 }
函数表达式的语法如下:
1 var functionName = function(arg0,arg1,arg2){ 2 //函数体 3 }
两者的区别:
函数声明的特征就是函数声明提升,即执行代码之前js解析器会先读取函数声明,所以如下的代码不会提示错误。
1 sayHi(); 2 function sayHi(){ 3 alert("Hi!"); 4 }
而函数表达式的形式类似常规的变量赋值语句,创建一个函数(匿名函数)并将它赋值给变量。所以在使用之前必须先赋值,下面的代码会导致错误。
1 sayHi(); //错误:函数还不存在 2 var sayHi=function(){ 3 alert("Hi!"); 4 }
转载于:https://www.cnblogs.com/jizhongjing/p/4870099.html
Javascript中函数声明与函数表达式的不同相关推荐
- JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别
函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使 ...
- Javascript 函数声明和函数表达式的区别
2019独角兽企业重金招聘Python工程师标准>>> Javascript Function无处不在,而且功能强大!通过Javascript函数可以让JS具有面向对象的一些特征,实 ...
- JavaScript的函数声明与函数表达式的区别
1)函数声明(Function Declaration); // 函数声明function funDeclaration(type){return type==="Declaration&q ...
- Javascript 学习笔记 - 函数 - 关于IIFE - 关于函数声明和函数表达式 - 个人总结
一切起源于一段代码(近来学完java基础 开始学习敲一下javascript): var getter = function(){var dayNames=["Sunday",&q ...
- JS中的函数声明和函数表达式
JS中的函数声明和函数表达式 1. 函数声明定义一个具有指定参数的函数 函数声明提升, 函数声明在JS解析时进行函数提升,因此在同一个作用域内,不管函数声明在哪里定义,该函数都可以进行调用 hoist ...
- javascript函数声明和函数表达式
JavaScript中定义函数最常用的方式是函数声明和函数表达式.这两种技术非常相似,有时甚至难以区分,但在后续章节中可以看到,它们之间还是存在着微妙的区别. JavaScript定义函数最基本方式是 ...
- javascript 函数声明与函数表达式的区别
还是一样,先上代码: <script>var f = function g() {return 1;};if (false) {f = function g(){return 2;};}a ...
- 逆推继承看原型 函数的角色 函数声明和函数表达式的区别 函数中this指向的问题
逆推继承看原型 <!DOCTYPE html> <html lang="en"> <head><meta charset="UT ...
- JavaScript程序开发(十四)—函数声明与函数表达式
函数声明和函数表达式虽然都是在声明一个函数,但是二者有区别,解析器对二者的解析并非是一视同仁的.解析器会率先解析读取函数声明,并使其可以在执行任何代码前可用(可以访问):至于函数表达式,则必须等到解析 ...
- 深入理解javascript中的立即执行函数(function(){…})()
2019独角兽企业重金招聘Python工程师标准>>> javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各 ...
最新文章
- 最新!NLG顶会INLG2021最佳长论文出炉!一作华人学生代表出席今晚INLG
- C# 系统应用之使用Pancel控件同一窗体切换页面
- linux生成地图,ROS中利用V-rep进行地图构建仿真
- 持续集成部署Jenkins工作笔记0009---创建SVN版本库并提交Maven工程
- 《Java安全编码标准》一导读
- 【软件测试】验收测试是以最终用户为主的测试
- break lab c语言,C语言printf详解
- 类型字节oracle 增强型时间类型以及postgresql时间类型
- 关于CUDA与CUDNN适配版本,以及安装中出现Bug的分析
- php想做一个无刷新弹窗,php+ajax实现无刷新的新闻留言系统
- 计算机北大核心期刊排名2020,2017年版北京大学核心期刊目录4(第八版,2018~2020适用)...
- 驱动开发:BSOD 0x93蓝屏 无效句柄
- 2012,当我们谈论移动互联网创业时,我们在谈论些什么?
- 华科计算机学院专业课,华中科技大学计算机专业课程表.xls
- 逆向——微信接收文本图片消息
- java课设 简单九宫格_Java实现九宫格的简单实例
- 更换计算机名后打不开PPT,PPT打不开的原因和解决办法 从检查开始 -电脑资料
- 怎样用N多小图片拼成一张大图?(数字图像处理)
- java base64转字图片、图片转base64字符串
- Linux查看网卡是rdma,Chelsio RDMA Block设备驱动测试