JavaScript作用域的理解

一、作用域的分类

变量的作用域无非为两种:全局变量和局部变量

二、全局变量(作用于全局)

  1. 全局变量就是在函数外部声明的变量,即隶属于window的变量,对于任何函数来说都可以访问
    function demo(){
        num = "helloWorld";
     }
     demo();
     console.log(num);// result:  helloWorld

注:函数内部变量未使用var,则都默认为全局变量

  1. if...else和for 循环内的变量也可以在外部访问(JavaScript无块级作用域)
    for (var i=0;i<10;i++){
    }
    if(i){
        var y = 3;
    }
    console.log(i); // result: 10
    console.log(y); // result: 3

二、局部变量(作用于局部)

  1. 局部变量只限于某些代码块内部访问,而对于函数外部无法访问(函数内部没有关键字 var ,都属于全局变量)
    function demo(){
        var num = "helloWorld";
        console.log(num);
    }
    demo();// result: helloWorld;
    console.log(num); // result: error  num is not defined
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。