为了账号安全,请及时绑定邮箱和手机立即绑定

老师并没有定义变量var timer = null或aLi[i].timer = null

老师并没有定义变量var timer = null或aLi[i].timer = null  而直接obj.timer = setInterval

是隐身的定义变量吗

这样写有什么优点或缺点,

或者说这样写会出现怎样的bug

正在回答

2 回答

事实上对于javascript这样的弱类型语言,使用var和不使用var都可以定义一个变量,在函数内使用var定义的变量是一个局部变量,不使用var定义的变量是一个全局变量,而obj.timer = setInterval这种方式算不上定义,这里obj已经是一个对象了,obj.timer代表为这个对象创建一个属性,然后才能使用这个属性,我们可以为它创建很多属性,根据需要来。ps:大多时候我们想自定义一个对象,可以这样写:var myobj1 = Object();然后为你的对象添加属性,如myobj.number=2016等等,还可以用另外一种方法定义对象,如:var myobj2 = {name:"Joh",number:"146"};这对话括号里的name和number就是对象myobj2的属性"Joh","146"就是值,而且值可以是任何数据类型,用得较多的就是函数了。如果你想了解更多,就去看看《DOM编程艺术》这本书。

2 回复 有任何疑惑可以回复我~

这样写的意思是timer成了obj这个对象的一个属性,=号后面是为obj对象的timer属性赋值。

0 回复 有任何疑惑可以回复我~
#1

高手之路 提问者

我想了解的是,如果把一段代码存储到一个变量中 不写var 直接timer = 这样写可以吗,有什么区别
2016-05-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

老师并没有定义变量var timer = null或aLi[i].timer = null

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信