首页 > 其他分享 >作用域及作用域链

作用域及作用域链

时间:2022-10-29 14:45:20浏览次数:40  
标签:console log 作用域 var 20 变量

作用域概述:

JavaScript 拥有函数作用域:每个函数创建一个新的作用域。一个变量的作用范围称为作用域,

在全局声明的变量就是全局作用域(可见性)。

在函数内容声明的变量它的作用域就是局部作用域(仅在当前函数内可用 函数作用域  不可见的)

 

var a = 10 //全局变量 全局作用域
function fn(){
 var a = 20 //局部变量 局部作用域
 console.log(a)  //20
}
console.log(a)  //10

JavaScript 变量

在 JavaScript 中,对象和函数也是变量。

作用域决定了从代码不同部分对变量、对象和函数的可访问性。

 

作用域链

如果您为尚未声明的变量赋值,此变量会自动成为全局变量,作用范围内容变量的查找,它是链式查找 从局部到全局。
//查找变量的过程 从局部到全局
var a = 10 //全局变量
var c = 50
var b = 60
function fn(){
    // console.log(a); //undefined
    console.log(a); //10
    // var a = 20; //局部
    a = 20; //全局的
    console.log(b);//60
    console.log(c);//undefined
    var c = b = 100;
    // console.log(a); //20
    // console.log(a); //20
    (function(){
        // console.log(a); //undefined
        console.log(a); //20
        // var a = 30 //局部
        console.log(b);//100
        console.log(c);//undefined
        var c = b = 200
        a = 30 //全局的
        // console.log(a); //30
        // console.log(a); //30
    })()
}
console.log(a); //10
fn()
console.log(a); //30
console.log(b);//200
console.log(c);//50

 

 

 

 

 

 

---------------------

仅供参考

 

 

 

标签:console,log,作用域,var,20,变量
From: https://www.cnblogs.com/hofenglang/p/16838706.html

相关文章