s高级-提升
2021/9/2 23:08:57
本文主要是介绍s高级-提升,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
变量和函数声明都会在任何代码被执行前首先被处理。
变量和函数声明从它们在代码中出现的位置被‘移动’到了最上面,这个过程叫作提升。(js解释器在执行js代码之前,会有个编译过程,编译器会把声明部分提升到当前作用域的最上方,这个过程叫作提升)
1.提升注意事项
- 只有声明会提升,赋值和其他运行逻辑留在原地
- 每个作用域都会进行提升操作
- 函数声明会被提升,但函数表达式不会被提升
- 即使是具名的函数表达式,名称标识符在赋值之前也无法在所在作用域使用
foo() //TypeError bar() //ReferenceError var foo = function bar(){ //...... }
上述代码提升后可理解成如下:
var foo; foo(); bar(); foo = function(){ bar bar = ...self... //... }
- 函数优先于变量(当由多个重复声明的代码)
foo(); var foo; function foo(){ console.log(1); } foo = function(){ console.log(2); } //输出1 提升后 ----------- function foo(){ console.log(1); } foo(); foo = function(){ console.log(2) } //var foo由于是重复的声明,因此被忽略了。但是出现在后面的函数声明还是可以覆盖前面的。
重复声明会导致各种问题,因此要避免这种情况。
这篇关于s高级-提升的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-082024年常用的情绪识别API
- 2025-01-07如何利用看板工具优化品牌内容创作与审批,确保按时发布?
- 2025-01-07百万架构师第十一课:源码分析:Spring 源码分析:Spring源码分析前篇|JavaGuide
- 2025-01-07质量检测标准严苛,这 6 款办公软件达标了吗?
- 2025-01-07提升品牌活动管理的效率:看板工具助力品牌活动日历的可视化管理
- 2025-01-07宠物商场的精准营销秘籍:揭秘看板软件的力量
- 2025-01-07“30了,资深骑手” | 程序员能有什么好出路?
- 2025-01-07宠物公园的营销秘籍:看板软件如何帮你精准触达目标客户?
- 2025-01-07从任务分解到资源优化:甘特图工具全解析
- 2025-01-07企业升级必备指南:从传统办公软件到SaaS工具的转型攻略