首页 > Web开发 > 详细

js全局变量和局部变量

时间:2019-12-02 09:44:18      阅读:61      评论:0      收藏:0      [点我收藏+]
JS中声明全局变量主要分为显式声明或者隐式声明
 
声明方式一:
使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量
声明方式二:
没有使用var,直接给标识符test赋值,这样会隐式的声明了全局变量test。即使该语句是在一个function内,当该function被执行后test变成了全局变量。
声明方式三:
使用window全局对象来声明,全局对象的属性对应也是全局变量
全局变量的优点:
可以减少变量的个数,减少由于实际参数和形式参数的数据传递带来的时间消耗。
缺点:
1 占用较多的内存单元
2 破坏了函数的封装性能 使函数对全局变量产生依赖
3 降低代码可读性
注意事项:
 一、Javascript的变量的scope(范围)是根据方法块来划分的(也就是说以function的一对大括号{ }来划分)切记,是function块,而for、while、if块并不是作用域的划分标准
 
二、Javascript在执行前会先对整个脚本文件的声明部分做完整分析(包括局部变量),从而确定实变量的作用域
 
  三,当全局变量跟局部变量重名时,局部变量的scope会覆盖掉全局变量的scope,当离开局部变量的scope后,又重回到全局变量的scope
 
var a = 10;
function test() {
console.log(a); //undefined 只声明 未赋值
a = 100;
console.log(a); //100
console.log(this.a); //10
var a;
console.log(a); //100
 
}
test();

js全局变量和局部变量

原文:https://www.cnblogs.com/bjyx/p/11968718.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!