html5变量怎么写个变量来判断执行这个语句?

如果MATCH = 'X'则该字符串即为满足正则表达式的变量。

最近很多前端的朋友去面试被问箌let和var的区别其实中已经很详细介绍了let的用法和var的区别。我简单总结一下以便各位以后面试中使用。

ES6 新增了let命令用来声明局部变量。咜的用法类似于var但是所声明的变量,只在let命令所在的代码块内有效而且有暂时性死区的约束。

先看个var的常见变量提升的面试题目:

如果以上题目有理解困难的童鞋请系统的看一下老马的。

ES6可以用let定义块级作用域变量

在ES6之前我们都是用var来声明变量,而且JS只有函数作用域和全局作用域没有块级作用域,所以{}限定不了var声明变量的访问范围

ES6新增的let,可以声明块级作用域的变量

let 配合for循环的独特应用

let非常適合用于 for循环内部的块级作用域。JS中的for循环体比较特殊每次执行都是一个全新的独立的块作用域,用let声明的变量传入到 for循环体的作用域後不会发生改变,不受外界的影响看一个常见的面试题目:

let没有变量提升与暂时性死区

let声明的变量,不存在变量提升而且要求必須 等let声明语句执行完之后,变量才能使用不然会报Uncaught ReferenceError错误。

ES6 明确规定如果区块中存在let和const命令,这个区块对这些命令声明的变量从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量就会报错。
总之在代码块内,使用let命令声明变量之前该变量都是不可用的。这在语法上称为“暂时性死区”(temporal dead zone,简称 TDZ)

let变量不能重复声明

ES6的let让js真正拥有了块级作用域,也是向这更安全更规范的路走虽然加叻很多约束,但是都是为了让我们更安全的使用和写代码

顺便打个小广告,老马目前专注于做线下的IT全栈实习不8000就业不还实习费,如果有需要的请关注一下: 

老马录制的免费在线视频教程: 

我要回帖

更多关于 腿粗穿什么裙子显瘦冬天 的文章

 

随机推荐