Javascript之全局变量

            1、 由于在js中,变量可以不用声明即可使用,不用var声明的变量 及在 函数外声明的变量都将成为全局变量。在编写js中,应尽量减少全局变量的个数。防止变量被重写,或者出现不可预测的结果, 

      

            2、 不使用var 声明的变量都将默认为window的属性。 这种隐式的全局变量与 用var声明的 全局变量 又有细微的差别。隐式的全局变量会当成window的一个属性,而用var声明的全局变量却不是。 这种差异主要体现在两点:

            1)、利用delete是可以删除属性的, 而变量却不能,

            2)、typeof 是可以获取到变量的类型, 而隐式全局变量却不能。 

     

            3、防止使用任务链进行变量声明 。 类似 这种 var a = b = 1;    由于代码是由右向左执行,实际上相当于 var a = (b=1) ,导致b为全局变量。应尽量使用单var 语句。  如:

            var a,b=1,c=2,d;  

            我曾经被坑过, 因为使用任务链进行变量声明,导致图片轮询效果总出现偏差,查了一两小时才最终找到答案。


        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值