亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師并沒有定義變量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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號