函数声明与函数表达式的区别是什么?

简介: 函数声明与函数表达式的区别是什么?

var init= function() ==>函数表达式,函数在代码执行到当前行时才被执行,init才被赋值

function init()0 ==>函数声明,和var一样,会被提前到代码最前面定义

区别:

1) 以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的(函数声明整体会被提升到当前作用

域的顶部,函数表达式也提升到顶部但是只有变量名提升)

2) 以函数声明的方法定义的函数,函数可以在函数声明前调用,而函数表达式的函数只能在声明后调用

3) 以函数声明的方法定义的函数并不是真正的声明,它们仅仅可以出现在全局中,或者嵌套在其他函数中,但它们不能出

现在循环,条件或者try、catch、finally中,而函数表达式可以在任何地方声明

换句话说: 函数声明不是一个完整的语句,所以不能出现在ifelse,for循环,fnally,try,catch语句以及while语句中

函数声明

function add(){}  // 函数声明

函数表达式

var del = function del(){} // 命名函数函数表达式
   var update= function(){} // 命名函数函数表达式
   function(){} // 匿名函数表达式
目录
相关文章
|
算法 网络协议
生成树协议:网络稳定的守护者
【4月更文挑战第22天】
250 0
|
2月前
|
监控 前端开发 JavaScript
如何开发一套工程项目部管理系统?(附架构图+流程图+代码参考)
工程项目部管理系统通过信息化手段整合进度、资源、人员、财务及风险管理,提升项目执行效率与决策质量。系统涵盖功能设计、业务流程、开发技巧及实现效果,助力企业构建高效、低风险的管理平台,实现项目全流程监控与优化。
|
6月前
|
传感器 人工智能 算法
傅利叶开源人形机器人,提供完整的开源套件!Fourier N1:具备23个自由度和3.5米/秒运动能力
傅利叶推出的开源人形机器人N1搭载自研动力系统与多模态交互模块,具备23个自由度和3.5米/秒运动能力,提供完整开源套件助力开发者验证算法。
444 3
傅利叶开源人形机器人,提供完整的开源套件!Fourier N1:具备23个自由度和3.5米/秒运动能力
vbs鼠标方法——模拟鼠标按键
'*********************************************************************** ' 代码开始 '*********************************************************************** Set mouse=New SetMouse mouse.
4919 0
|
5月前
|
缓存 IDE 调度
【HarmonyOS Next之旅】基于ArkTS开发(一) -> Ability开发一
本文介绍了HarmonyOS中的FA模型及其开发相关内容,包括PageAbility与ServiceAbility的开发方法。FA模型下的Ability分为多种类型,如PageAbility(带UI,用户可见可交互)、ServiceAbility(无UI,在后台提供服务)等。文章详细阐述了PageAbility的生命周期、启动模式及接口使用,并通过代码示例展示了如何启动本地PageAbility和重写生命周期函数。
166 12
|
8月前
|
缓存 运维 监控
追踪隐式资源,巧解内存难题!阿里云操作系统控制台上线
在云计算和容器化部署环境中,云原生容器化已成为行业标准,带来高效部署和成本控制优势的同时,也伴随新的挑战。通过操作系统内存全景功能,可一键扫描诊断,提升运维效率、降低成本,并显著提高系统稳定性。
|
JavaScript 前端开发 网络架构
Vue-router的动态路由:获取传递的值
Vue-router的动态路由:获取传递的值
152 0
|
存储 弹性计算 数据库
云计算概念和与云服务的区别
“云”在计算机科学和信息技术领域通常指“云计算”,即通过互联网提供计算资源(如服务器、存储、数据库、网络、软件、分析等)的模式。用户可以按需访问和使用这些资源,而无需管理和维护实际的硬件和软件。
1767 3
|
机器学习/深度学习 计算机视觉
【图片操作】提取GIF的图片帧
gif是我们日常生活中常用的一种图片,它介于视频和图片之间。我们可以用图片的内存体验到一些视频的感觉。但是有时候我们会想把gif的图片全部提取出来,今天我们就来实现一下这个操作。
673 0