課程
/前端開發
/JavaScript
/JavaScript入門篇
變量可以不聲明,直接使用。這句話是什么意思,能舉個例子嗎?
2015-05-15
源自:JavaScript入門篇 1-7
正在回答
Javascript聲明變量的時候,雖然用var關鍵字聲明和不用關鍵字聲明,很多時候運行并沒有問題,但是這兩種方式還是有區別的??梢哉_\行的代碼并不代表是合適的代碼。
JS中變量申明分顯式申明和隱式申明。
Var?i=100??顯示申明
i=100??隱式申明
在函數中使用var關鍵字進行顯式申明的變量是做為局部變量,而沒有用var關鍵字,使用直接賦值方式聲明的是全局變量。
當我們使用訪問一個沒有聲明的變量時,JS會報錯。而當我們給一個沒有聲明的變量賦值時,JS不會報錯,相反它會認為我們是要隱式申明一個全局變量,這一點一定要注意。
var?num?=?1是在當前域中聲明變量.?如果在方法中聲明,則為局部變量;如果是在全局域中聲明,則為全局變量。而num?=?1,事實上是對屬性賦值操作。首先,它會嘗試在當前作用域鏈(如在方法中聲明,則當前作用域鏈代表全局作用域和方法局部作用域etc。。。)中解析?num;?如果在任何當前作用域鏈中找到num,則會執行對num屬性賦值;?如果沒有找到num,它才會在全局對象(即當前作用域鏈的最頂層對象,如window對象)中創造num屬性并賦值。
注意!它并不是聲明了一個全局變量,而是創建了一個全局對象的屬性。
”單元“ 錯了,是“但愿”
就像課件里面寫的一樣:變量mychar是先用var定義(也就是聲明變量)【var mychar;】,然后才賦值 【mychar="javascript";】,【var mynum = 6;】這句話是在定義的同時,給變量賦值。但是如果把【var mynum = 6;】改成【mynum = 6;】則在你提交時就會報錯,說是:定義變量使用var關鍵字,即沒有定義變量,直接使用了
var?mychar; mychar="javascript"; var?mynum?=?6;
單元你能看懂,
舉報
JavaScript做為一名Web工程師的必備技術,本教程讓您快速入門
2 回答再怎么能不申明變量直接使用。。。這和別的編程語言明顯不一樣,變量一定是要先聲明后使用的
3 回答變量聲明以及賦值
1 回答函數調用需要在script標簽聲明么?聲明和不聲明都可以使用?
3 回答變量聲明請教
4 回答關于變量聲明
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-05-15
Javascript聲明變量的時候,雖然用var關鍵字聲明和不用關鍵字聲明,很多時候運行并沒有問題,但是這兩種方式還是有區別的??梢哉_\行的代碼并不代表是合適的代碼。
JS中變量申明分顯式申明和隱式申明。
Var?i=100??顯示申明
i=100??隱式申明
在函數中使用var關鍵字進行顯式申明的變量是做為局部變量,而沒有用var關鍵字,使用直接賦值方式聲明的是全局變量。
當我們使用訪問一個沒有聲明的變量時,JS會報錯。而當我們給一個沒有聲明的變量賦值時,JS不會報錯,相反它會認為我們是要隱式申明一個全局變量,這一點一定要注意。
var?num?=?1是在當前域中聲明變量.?如果在方法中聲明,則為局部變量;如果是在全局域中聲明,則為全局變量。而num?=?1,事實上是對屬性賦值操作。首先,它會嘗試在當前作用域鏈(如在方法中聲明,則當前作用域鏈代表全局作用域和方法局部作用域etc。。。)中解析?num;?如果在任何當前作用域鏈中找到num,則會執行對num屬性賦值;?如果沒有找到num,它才會在全局對象(即當前作用域鏈的最頂層對象,如window對象)中創造num屬性并賦值。
注意!它并不是聲明了一個全局變量,而是創建了一個全局對象的屬性。
2015-05-15
”單元“ 錯了,是“但愿”
2015-05-15
就像課件里面寫的一樣:變量mychar是先用var定義(也就是聲明變量)【var mychar;】,然后才賦值 【mychar="javascript";】,【var mynum = 6;】這句話是在定義的同時,給變量賦值。但是如果把【var mynum = 6;】改成【mynum = 6;】則在你提交時就會報錯,說是:定義變量使用var關鍵字,即沒有定義變量,直接使用了
單元你能看懂,