js定義變量的幾種方式 js如何定義全局變量?
當(dāng)你不 在函數(shù)體中,A確實(shí)是一個(gè)全局變量,因?yàn)樗梢?在函數(shù)中找不到,所以您將在全局范圍內(nèi)尋找。但是,您已經(jīng)在函數(shù)中重新分配了一個(gè)。在執(zhí)行之前,解析器將掃描整個(gè)函數(shù)促進(jìn)和所有聲明的變量都放在函數(shù)的頂部
當(dāng)你不 在函數(shù)體中,A確實(shí)是一個(gè)全局變量,因?yàn)樗梢?在函數(shù)中找不到,所以您將在全局范圍內(nèi)尋找。
但是,您已經(jīng)在函數(shù)中重新分配了一個(gè)。在執(zhí)行之前,解析器將掃描整個(gè)函數(shù)促進(jìn)和所有聲明的變量都放在函數(shù)的頂部,所以函數(shù)中的A不是A的外部,但是如果在定義A之前使用A,那么它就是未定義的。在其他語(yǔ)言中,它會(huì)在賦值前報(bào)告一個(gè)referened錯(cuò)誤,但是JavaScript不會(huì)報(bào)告錯(cuò)誤,所以根據(jù)規(guī)范,最好先聲明所有要使用的變量。(當(dāng)然,如果使用后定義了A,那還是未定義。)` ``` JavaScipt ``` `窗口。A是全局A函數(shù),也可以用window.b()訪問(wèn),window . b()代表全局范圍,但是
變量命名規(guī)則如下:
1.變量命名必須以字母、下劃線 "_ "or "美元 "。其他字符可以是字母、_、美元符號(hào)或數(shù)字。
2.變量名中不允許有空格和其他標(biāo)點(diǎn)符號(hào),第一個(gè)單詞不能是數(shù)字。
3.變量名的長(zhǎng)度不能超過(guò)255個(gè)字符。
4.變量名區(qū)分大小寫(xiě)。(javascript是一種區(qū)分大小寫(xiě)的語(yǔ)言)
5.變量名必須放在同一行。
6.腳本語(yǔ)言中不能使用關(guān)鍵字、保留字、
局部變量在函數(shù)中聲明,全局變量在模塊中聲明??梢耘e個(gè)簡(jiǎn)單的例子。
Var a 10聲明一個(gè)全局變量A等于10,然后我們聲明一個(gè)函數(shù)。
函數(shù)添加(x){
返回一個(gè)x
}
功能子(x){
返回a - x
}
在這兩個(gè)例子中,使用了全局變量A。是常量的值還是10?第一個(gè)函數(shù)返回x的值,第二個(gè)函數(shù)返回A-X的值..
聲明一個(gè)局部變量或者定義這兩個(gè)函數(shù)作為例子。
函數(shù)添加(x){
var a10
返回一個(gè)x
}
功能子(x){
var b 10
返回b -x
}
在這個(gè)例子中,變量A和B都在函數(shù)中。如果我們?cè)趕ub函數(shù)中寫(xiě)return a -x,就會(huì)出錯(cuò),提示A未定義。希望我的回答能幫到你!
我不 我不知道你到底是什么意思?如果你是問(wèn)什么時(shí)候用局部變量,什么時(shí)候用全局變量?通用設(shè)置,初始建議變成全局。申報(bào)的風(fēng)險(xiǎn)值變量通常是方法和類(lèi)中的全局變量。推薦使用let es6,范圍在{}。