全局作用域:在script标签定义的变量。就是一个全局变量,可以在任何地方去使用。
局部作用域:在函数体定义的变量,就是一个局部变量,只能用在当前的函数体中
块级作用域:在代码块{}定义的变量,采用let进行定义,只能用在当前代码块里面
var a = 10 //全局的变量
function f1(){
console.log(a)
}
f1()
//var 变量提升只会把变量声明提升到当前作用域最前面
function f2(){
console.log(b,"--------")
var b = 10 //局部变量
console.log(b,"--------")
}
f2()
// console.log(b) // 局部变量只能用在定义函数体里面
// 当全局变量和局部的变量如果冲突了,在局部作用域使用的是局部的变量,
// 在全局里面使用的全局变量
function f3(){
var a = 20
console.log(a,"++++++++")
}
f3()
console.log(a,"--------------")
/*
1 全局的用起来比较方便 只需要定义一次,全局变量不会被释放,一直占用内存空间
2 局部的变量不能在函数体使用,当函数体执行完了,局部的变量就会直接被释放,
*/
//在局部定义变量如何间接使用在全局里面
function f4(e,f){
var d = 100 // 局部
return d
}
var f = f4()
console.log(f)
2989

被折叠的 条评论
为什么被折叠?



