Javascript作用域
Posted 江州益彤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript作用域相关的知识,希望对你有一定的参考价值。
一、全局作用域
var a=10;//全局作用域
function print(){
var b=12;//局部作用域(函数作用域)
console.log(a);//10
}
console.log(b);//b is not defined
二、局部作用域(函数作用域)
同上
三、块作用域
所有{ }内都是一个独立的作用域,例如if,for,但对象的{ }不包括。
特点:使用let或const定义的变量
if(true){
var a=10;//使用var声明的变量,在全局作用域
console.log(a);//10
}
console.log(a);//10
const b=12;
if(true){
let a=10;//使用var声明的变量,在全局作用域
console.log(a);//10
}
console.log(a);//a is not defined
console.log(b);//12
js作用域的特殊情况
function print(a){
console.log(a);
}
print(10);
console.log(a);//a is not defined
for()中使用var定于的变量在全局作用域中
for(var i=0;i<3;i++){
console.log(i);//0,1,2
}
console.log(i);//3
for()中使用var定于的变量在块作用域中
for(leti=0;i<3;i++){
console.log(i);//0,1,2
}
console.log(i);//i is not defined
try-catch:catch(变量)该变量只能在catch中使用,外面无法访问
try{
throw new Error();
}catch(error){
var test='hello world';
console.log(error);//Error
}
console.log(error);//error is not defined
console.log(test);//hello world
以上是关于Javascript作用域的主要内容,如果未能解决你的问题,请参考以下文章