ecmascript6块级范围和新的变量声明(让)

ecmascript6块级范围和新的变量声明(让)
一个块级范围是在许多语言中,但不是在JS,它使用var声明的变量,按功能划分的范围,但不限制变种斜体变量用var声明的变量具有改善作用(申报提升)。

6加一让,如果,for语句。同样使用VAR,但范围局限于块级,在让声明的变量不存在。

示例1:块级范围
功能getval(BOO){
如果(嘘){
VaR值='

返回值
{人}
在这里您可以访问
返回null
}
在这里,您还可以访问这个文件
}
变量if在if块中声明,但瓦迩可以从其他块和if访问。

而不是改变var为让,原来是这样的
功能getval(BOO){
如果(嘘){
让val ='

返回值
{人}
无法访问到
返回null
}
这里还访问了瓦尔。
}

示例2:块级范围
函数功能(ARR){
对于(var i = 0;i < arr.length;i++){

}
在这里您还可以访问我的 /
}
变量i在for块中声明,但也可以在。

改变VaR让,和不能访问我
函数功能(ARR){
为了(让我= 0;i < arr.length;i++){

}
无法访问 / i
}

示例3:变量提升(声明后首次使用)
函数(){
在第一个语句之后,没有错误
警报(未定义)
Var Val;
}
变量K首先使用后声明,输出未定义,并且不报告错误。

把VaR放在一边是不对的。
函数(){
在第一个语句、报表语法错误之后
警报(瓦尔)
让瓦迩;
}

示例4:变量提升(先判断后语句)
函数(){
如果(typeof val = = 'undefined){

}
var =
}
你也可以使用typeof来判断var语句的前面

但是改变VaR让,如果是错误的语法
函数(){
如果(typeof val = = 'undefined){

}
让=;
}
6指定如果让存在于代码块,块从一开始就形成一个封闭的范围,如果你使用它的声明之前,你会犯错误,在代码块中,它是不可让报关前使用变量。有语法术语叫时间死了区,简称TDZ TDZ。当然,不会出现在ES规范,它只是一个形象的描述。

注意事项

1。不能重复声明
变量,并允许重复语句
变量名=杰克;
让约翰的名字=;

双重复语句
让年龄= 24岁;
让年龄= 30岁;
执行时间语法错误

2。在让之后,可以从执行中删除匿名函数。
匿名函数
(函数(){())
Var(jQuery =函数){ };

窗口。
});

/块级别的写作范围
{
让(jQuery =函数){ };

窗口;
}
以上是本文的全部内容,希望大家能喜欢。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部