javascript声明提升案列
来源:互联网 发布:医疗包升级数据 编辑:程序博客网 时间:2024/05/22 12:05
var
定义的变量会提升
if(!(a in window)){ var a = 1; console.log('haha') } console.log(a);
以上代码只会输出undefined
,不会输出haha
,因为JavaScript
在解析时会首先将当前作用域中的 变量进行扫描,建立作用域链,变量的初始值都为undefined
,因此以上代码相当于:
var a = undefined; if(!(a in window)){//所有这里为假 var a = 1; console.log('haha') } console.log(a);
若将代码换成
let
和const
定义的变量不会提升
if(!(a in window)){ let a = 1;//或者换成const console.log('haha') } console.log(a);
以上代码在执行到a in window
是就会报错,因为let
和const
定义的变量不会提升
函数声明会提升,函数表达式不会
阅读全文
0 0
- javascript声明提升案列
- javascript变量声明提升
- javascript变量声明提升
- JavaScript声明提升
- JavaScript变量声明提升
- JavaScript 变量声明提升
- javascript变量声明提升
- javascript变量声明提升
- javascript中声明提升
- 浅谈JavaScript--声明提升
- Javascript变量声明提升
- 浅谈JavaScript--声明提升
- javascript变量声明提升(hoisting)
- javascript变量声明提升(hoisting)
- javascript中的函数声明提升
- javascript变量声明提升(hoisting)
- 浅谈JavaScript变量声明提升
- javascript变量声明提升(hoisting)
- 浅述numpy中argsort()函数的用法
- EA&UML日拱一卒-活动图::13.1 Summary
- UVA 10018
- SQL学习笔记
- 17.java中集合的底层实现
- javascript声明提升案列
- 细说 Azure Storage 的冗余策略
- Kubernetes可以为容器编排做点什么
- 趣味博弈论 -- 阶梯博弈
- NYOj-找球号(二)-哈希
- JAVA基本程序设计规范
- HDU
- 增强Excel的SUM()函数:实现求和前非数据项的预筛查
- ES6 —(Generator 函数应用)