JavaScript 作用域

本文介绍了JavaScript中的全局作用域和函数作用域,以及变量提升的概念。通过示例展示了变量在不同作用域内的访问规则,并解释了函数内部声明的变量仅在函数内部可见。同时,讨论了如何通过作用域来管理变量的生命周期和避免命名冲突。
摘要由CSDN通过智能技术生成

作用域:

变量或者函数可以访问的范围,分为两种:

​ 1.全局作用域:在全局使用var关键字声明的变量 ,可以再任意的范围访问

​ 2.函数作用域: 在函数内使用var关键字声明的变量,只能在函数内部访问

var a = 10
console.log(a) //10

/*
    js程序执行前 会将使用var关键字声明的变量提升所在作用域的最前面,
    但是赋值还是在原来的位置
*/

console.log(a) //undefined
var a = 10
//以上代码作用域提升后 可以改写为
var a;
console.log(a) //undefined
a=10


function fn(){
    //局部变量作用域提升
    console.log(b) //undefined
    var b = 10;
}

var a = 10; //全局作用域下的变量  全局变量
function fn(){
    var b = 2  //函数作用域下使用var关键字声明的变量 局部变量
    // console.log(a)
    console.log(b)
}

console.log(a)
fn() //调用函数  执行函数体内的代码
console.log(b); //b是在函数内部定义的 在外部无法访问

var n = 10

function fn(){
    console.log(n//undefined
    var n = 5
}
console.log(n) 
var m =1
function fn3(m){ //参数在函数中相当于一个局部变量
    m=m+3 
}
console.log(m)

function fn4(){
    var a=b=c=2;
}
fn4();
console.log(a) //a is not defined
console.log(b) //2
console.log(c) //2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值