一、 定义变量的关键字 let 1 不会出现变量提升的情况。 console.log(a); var =a;等价于var a;console.log(a);a=10; 以上代码不会报错,而是打印undefined. conole.log(a); let b=10; 注意:小程序不能解析ES6语法。他 ...
分类:
其他好文 时间:
2020-04-30 11:39:36
阅读次数:
66
一、var和let,const的区别 1.let,const不存在变量提升 2.let,const不能在一作用域下重复定义同一个名称的变量 3.var是函数作用域,let,const是块级作用域(即一对花括号为一个作用域) const,定义一个只读的常量,一旦定义就不能再改变这个常量的值。但是数组, ...
分类:
其他好文 时间:
2020-04-25 10:56:46
阅读次数:
79
原文:What is the Execution Context & Stack in JavaScript? git地址:JavaScript中的执行上下文和队列(栈)的关系? 导读:以前总是看到相关文章提到什么变量提升,函数提升啥的,什么函数提升优先级大于变量的,总是知其然,不知其所以然,当面试 ...
分类:
编程语言 时间:
2020-04-23 00:39:12
阅读次数:
66
一、ES6 基本认识 1、什么是 ES6? ES6 指的是 ECMAScript 6.0,是JavaScript 语言的一个标准。其目标是使JavaScript 可以用来编写复杂的大型的应用程序,成为企业级开发的语言。 2、ES6 与 JavaScript 的区别? ES6 是 JavaScript ...
分类:
其他好文 时间:
2020-04-18 09:15:41
阅读次数:
64
let ES6中新增的用于声明变量的关键字 let 声明的变量只有在处于的块级作用域中有效(大括号中) 防止循环变量变成全局变量 比如for循环中的 i 不存在变量提升 暂时性死区特性 const 作用:声明常量,常量的值(内存地址)不能变化的值 具有块级作用域 const 声明常量必须需要赋一个初 ...
分类:
其他好文 时间:
2020-04-14 00:51:34
阅读次数:
54
JavaScript 执行机制 -- 先编译,再执行 变量提升 var myname = "zd" => var myname = undefined // 声明 myname = "zd" // 赋值 function foo () { console.log('function') } => / ...
分类:
编程语言 时间:
2020-03-24 12:49:55
阅读次数:
88
为什么是 ES6 每一次标准的诞生都意味着语言的完善,功能的加强, JavaScript 语言本身也有一些令人不满意的地方 变量提升特性增加了程序运行时的不可预测性 语法过于松散,实现相同的功能,不同的人可能会写出不同的代码 ES6 新增语法 let ES6 中新增的用于声明变量的关键字 let 声 ...
分类:
其他好文 时间:
2020-03-23 20:17:10
阅读次数:
59
1:es6里面也有let会计作用域和var的变量提升,函数的变量提升,函数与变量提升会先提升函数,把函数体全部提升上去,const也和let一样都是块级作用域,都只能在大括号里面写 2:函数的提升的步骤:先找到生成环境,在找形参,在给实参赋值,在找变量,在找普****通函数(函数字面量不会被提升:v ...
分类:
其他好文 时间:
2020-03-17 19:12:40
阅读次数:
63
1、let 和 var (a): let 声明的变量只在 let 命令所在的代码块内有效 (b): let 是在代码块内有效,var 是在全局范围内有效: (c): let 不存在变量提升,var 会变量提升: for (var i = 0; i < 10; i++) { setTimeout(fu ...
分类:
编程语言 时间:
2020-02-20 14:51:04
阅读次数:
84
变量提升 声明的变量会提升到函数或全局作用域顶部 简单例子 函数提升 函数写法:函数表达式、函数声明、Function构造函数(这种不推荐).其中函数表达式不会 函数提升 , 函数声明 会函数提升。 我们都知道程序在执行时是从上往下执行的,而这里 在定义之前就调用了为什么不报错? 实例一 值为多少? ...
分类:
其他好文 时间:
2020-02-19 20:40:46
阅读次数:
53