美文网首页
Javascript作用域

Javascript作用域

作者: eb116c5392b0 | 来源:发表于2016-07-02 16:40 被阅读10次

    什么是作用域?

    作用域就是一个变量在代码中可以使用的范围。

    Javascript的作用域

    1. 用var定义的变量

    当在一个函数中用var声明一个变量,那么这个变量的作用域就是这个函数内。

    也就是这个变量只能在这个函数内可以使用,函数外部不可以使用。

    同样,在这个函数内定义的函数也可以使用这个变量。

    1. 不用var定义的变量

    在函数内不用var定义的变量的作用域将不限制在这个函数内。

    Javascript将回溯作用域链,直到找到这个变量初次被定义的地方。

    如果回溯到window作用域都没有找到,这个变量将被赋予全局作用域。

    函数作用域示例

    函数内可以访问函数外变量

    因为该函数在这个变量的作用域内。

    var message = 'hello';
    
    var sayHello = function() {
      console.log(message);
    }
    
    sayHello(); //logs 'hello'
    
    console.log(message); //logs 'hello'
    

    函数外不可以访问函数内变量

    因为该变量的作用域只在函数内。

    var sayHello = function(){
      var message = 'goodbye';
      console.log(message)
    }
    
    sayHello(); //logs 'goodbye'
    
    console.log(message); // error
    

    相关文章

      网友评论

          本文标题:Javascript作用域

          本文链接:https://www.haomeiwen.com/subject/qspqjttx.html