JavaScript作用域

匿名 (未验证) 提交于 2019-12-02 21:53:52

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

在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。


JavaScript 局部作用域

变量在函数内声明,变量为局部作用域。
局部变量:只能在函数内部访问。
因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。

局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。

函数参数只在函数内起作用,是局部变量。

JavaScript 全局变量

变量在函数外定义,即为全局变量。

如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
JavaScript 变量生命周期在它声明时初始化。局部变量在函数执行完毕后销毁。全局变量在页面关闭后销毁。

HTML 中的全局变量

在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象。




例题1

        var num=10;         fun();         function fun(){             console.log(num);             var num = 20;         }
输出结果为:undefined


解析后的代码为:

        var num;         function fun(){             var num;             console.log(num);             num = 20;         }         num=10;         fun();

例题2

        f1();         console.log(c);         console.log(b);         console.log(a);         function f1(){             var a=b=c=9;             console.log(a);             console.log(b);             console.log(c);         }

解析后的代码为:

        function f1(){             var a;             a=b=c=9;             console.log(a);             console.log(b);             console.log(c);         }         f1();         console.log(c);         console.log(b);         console.log(a);

输出结果


文章来源: JavaScript作用域
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!