JavaScript 变量 的一些认识

关键字var 用于定义变量,如果使用var定义变量,那么该变量一定是局部变量,也就是只能在定义变量的函数内使用,如果不使用var,那么msg变量就将是全局变量,你可以在任意地方访问该变量,在局部上下文使用全局变量不一定是坏事,在某些情况下也的确需要这样用,然而这并不是一种好的实践。之所以要避免使用全局变量,是因为如果应用程序中有多个javascript脚本,那么就可能在某个文件中的某段代码里使用到msg变量,这样就会覆盖原有的数值,或者,如果已经有了全局变量msg,而某些javascript脚本程序库错误地定义变量 就会导致其数据丢失,变量的作用域是非常重要的,特别是当全局变量与局部变量的名字相同的时候

变量作用域的规则如下:

如果在函数或代码块中使用var关键字定义一个变量,那么这是一个属于这个函数或代码块的局部变量
如果使用一个没有var关键字定义的变量,并且存在同名的全局变量,那么该局部变量将等同于已经存在的全局变量
如果使用var关键字定义一个变量,但是没有对变量节能型初始化(例如为变量赋值)那么它是个局部变量,但是它是未定义的
如果定义变量时没有使用var关键字,或者显式定义为全局变量,但是没有进行初始化,那么这是一个可以全局访问的变量,但是也是未定义的;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值