一个块级范围是在许多
语言中,但不是在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 =函数){ };
…
窗口;
}
以上是本文的全部内容,希望大家能喜欢。