欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript中的作用域

程序员文章站 2022-03-14 14:30:14
1.全局作用域 JavaScript中,在{}外面的作用域,我们就称之为全局作用域 2.局部作用域 JavaScript中,在函数后面{}中的作用域,我们就称之为局部作用域 3.块级作用域 JavaScript中,只要是没有和函数结合在一起的{}中的作用域, 我们就称之为块级作用域 4.注意点 在块 ......

1.全局作用域

javascript中,在外面的作用域,我们就称之为全局作用域

	//全局作用域
	var num1 = 123;
	let num2 = 456;
	
	if(...){
		...
	}

2.局部作用域

javascript中,在函数后面中的作用域,我们就称之为局部作用域

	//局部作用域
	function test() {
	        console.log("hello world!");
	    }

3.块级作用域

javascript中,只要是没有和函数结合在一起的中的作用域, 我们就称之为块级作用域

    //块级作用域
    if (...) {
        ...
    }
    while (...) {
        ...
    }
    do {
        ...
    }while (...)

4.注意点

  • 在块级作用域中,通过var定义的变量是全局变量,而通过let定义的变量是局部变量

     if (true) {
         //全局变量var num1 = 123;
         //局部变量
         let num2 = 456;
     }
         console.log(num1);
         console.log(num2);
    

    JavaScript中的作用域

  • 在局部作用域中,通过var定义的变量是局部变量,通过let定义的变量也是局部变量

     function test() {
     //局部变量
        var num1 = 123;
        //局部变量
        let num2 = 456;
         }
         test();
         console.log(num1);
         console.log(num2);
    

    JavaScript中的作用域

  • 无论是在块级作用域还是在局部作用域中,省略定义变量的关键字let或var,那么该变量就会变为全局变量

     if(true) {
        num1 = 123;
        num2 = 456;
    	}
         function test() {
             num3 = 111;
             num4 = 222;
         }
         test();
         console.log(num1);
         console.log(num2);
         console.log(num3);
         console.log(num4);
    

    JavaScript中的作用域如有错误,还请评论指出