javascript-作用域

作用域

通常来说,就是代码名字(变量)在某个范围内起作用和效果
目的:为了提高程序的可靠性,避免命名冲突
 
js作用域(es6)之前:全局作用域 局部作用域
 
 
复制代码
<script>
//全局作用域:整个script标签 或者一个单独的js文件
var num = 10;
console.log(num);
//局部作用域(函数作用域) 在函数内部就是局部作用域 这个代码的名字只在函数内部起效果
function fn() {
//局部作用域
var num = 20;
console.log(num);
}
fn();

</script>
复制代码

 

注:如果在函数内部没有声明直接赋值的变量也属于全局变量
注:函数的形参也是局部变量。
从执行效率来看
  1. 全局变量只有浏览器关闭的时候才会销毁,比较占用内存
  2. 局部变量,当我们程序执行完毕之后就会销毁,节约资源
作用域链
根据内部函数可以访问外部函数变量的这种机制,用链式查找决定哪些数据被内部函数访问,就称为作用域链。
复制代码
 //作用域链:内部函数访问外部函数的变量,采用的是链式查找,来决定
        var num =10;
        function fn(){//外部函数
            var num =20;

            function fun(){//内部函数
                console.log(num);
            }
        }
复制代码

 

 
站在目标 出发,一层一层往外查找 
posted @   终究还是避免不了遗憾  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示