為什麼下面這個選擇器總是報錯
var add-button=$('button[name=add]')
而換了個變數名就不報錯了
var add=$('button[name=add]')
初學者寫js遇到的小問題,希望有人可以解惑
變數名稱區分大小寫,允許包含字母、數字、美元符號($)和底線,但第一個字元不允許是數字,不允許包含空格和其他標點符號和變數名稱禁止使用JavaScript關鍵字、保留字全名。 add(-)button屬於其他符號。
雷雷
樓上兩位說的都對,初學最好了解一下命名規則和習慣
標識符(identifier)是用來識別具體物件的一個名稱。最常見的標識符就是變數名,以及後面要提到的函數名。 JavaScript語言的識別碼對大小寫敏感,所以a和A是兩個不同的識別符。
標識符有一套命名規則,不符合規則的就是非法標識符。 JavaScript引擎遇到非法標識符,就會報錯。
簡單說,識別符命名規則如下:
第一個字符,可以是任意Unicode字母(包括英文字母和其他語言的字母),以及美元符號($)和底線(_)。 第二個字符及後面的字符,除了Unicode字母、美元符號和下劃線,還可以用數字0-9。 下面這些都是合法的識別碼。
arg0 _tmp $elem π
下面這些則是不合法的識別符。
1a // 第一个字符不能是数字 23 // 同上 *** // 标识符不能包含星号 a+b // 标识符不能包含加号 -d // 标识符不能包含减号或连词线
中文是合法的標識符,可以用作變數名。
var 临时变量 = 1;
JavaScript有一些保留字,不能用作識別字:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for 、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void 、while、with、yield。
另外,還有三個字雖然不是保留字,但是因為有特別意義,也不應該用來當識別字:Infinity、NaN、undefined。
Infinity、NaN、undefined
標識符不符合規範add-button中間的-非法字元
add-button
-
最好用_,不要用-
變數名稱區分大小寫,允許包含字母、數字、美元符號($)和底線,但第一個字元不允許是數字,不允許包含空格和其他標點符號和變數名稱禁止使用JavaScript關鍵字、保留字全名。 add(-)button屬於其他符號。
雷雷
樓上兩位說的都對,初學最好了解一下命名規則和習慣
標識符(identifier)是用來識別具體物件的一個名稱。最常見的標識符就是變數名,以及後面要提到的函數名。 JavaScript語言的識別碼對大小寫敏感,所以a和A是兩個不同的識別符。
標識符有一套命名規則,不符合規則的就是非法標識符。 JavaScript引擎遇到非法標識符,就會報錯。
簡單說,識別符命名規則如下:
第一個字符,可以是任意Unicode字母(包括英文字母和其他語言的字母),以及美元符號($)和底線(_)。
第二個字符及後面的字符,除了Unicode字母、美元符號和下劃線,還可以用數字0-9。
下面這些都是合法的識別碼。
下面這些則是不合法的識別符。
中文是合法的標識符,可以用作變數名。
JavaScript有一些保留字,不能用作識別字:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for 、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void 、while、with、yield。
另外,還有三個字雖然不是保留字,但是因為有特別意義,也不應該用來當識別字:
Infinity、NaN、undefined
。標識符不符合規範
add-button
中間的-
非法字元最好用_,不要用-