本文最后更新于2019年4月26日,已超过一年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
在定义变量时要使用 var 操作符(var 是一个关键字),后跟变量名(即一个标识符),如下所示:
- var message;
需要注意的是,用var 操作符定义的变量将成为定义该变量的作用域中的局部变量。也就是说,如果在函数中使用 var定义一个变量,那么这个变量在函数退出后就会被销毁,例如:
- function test(){
- var message = "hi"; // 局部变量
- }
- test();
- alert(message); // 报错
这里,变量 message 是在函数中使用 var 定义的。当函数被调用时,就会创建该变量并为其赋值。
而在此之后,这个变量又会立即被销毁,因此例子中的下一行代码就会导致错误。不过,可以像下面这
样省略 var 操作符,从而创建一个全局变量:
- function test(){
- message = "hi"; // 全局变量
- }
- test();
- alert(message); // "hi"
这个例子省略了 var 操作符,因而 message 就成了全局变量。这样,只要调用过一次 test()函
数,这个变量就有了定义,就可以在函数外部的任何地方被访问到。
最后
加与不加的区别就在于,加的话定义的就是局部变量,在函数结束后变量会被销毁,不加的话就是全局变量,在函数结束后变量不会被销毁,但是不推荐这样去定义全局变量。
虽然省略 var 操作符可以定义全局变量,但是在局部作用域中定义的全局变量很难维护,而且如果有意地忽略了 var 操作符,也会由于相应变量不会马上就有定义而导致不必要的混乱。
给未经声明的变量赋值在严格模式下会导致抛出 ReferenceError 错误。
完。
微信小程序
互联网开发,终身学习者,欢迎您的关注!
2018年11月1日 上午10:53
原来还有这种说法,学习了
2018年10月31日 下午8:41
全局变量、局部变量