javascript - 關(guān)于選擇器的簡單小問題
問題描述
為什么下面這個選擇器總是報錯
var add-button=$(’button[name=add]’)
而換了個變量名就不報錯了
var add=$(’button[name=add]’)
初學(xué)者寫js遇到的小問題,希望有人可以解惑
問題解答
回答1:變量名區(qū)分大小寫,允許包含字母、數(shù)字、美元符號($)和下劃線,但第一個字符不允許是數(shù)字,不允許包含空格和其他標(biāo)點符號和變量名禁止使用JavaScript關(guān)鍵詞、保留字全名。add(-)button屬于其他符號。
回答2:add_button 這樣就不報錯了變量命名規(guī)則,字母或者_打頭,后面放什么數(shù)字字母下劃線,命名規(guī)則里面沒有`-`連字符回答3:
樓上兩位說的都對,初學(xué)最好了解一下命名規(guī)則和習(xí)慣
回答4:標(biāo)識符(identifier)是用來識別具體對象的一個名稱。最常見的標(biāo)識符就是變量名,以及后面要提到的函數(shù)名。JavaScript語言的標(biāo)識符對大小寫敏感,所以a和A是兩個不同的標(biāo)識符。
標(biāo)識符有一套命名規(guī)則,不符合規(guī)則的就是非法標(biāo)識符。JavaScript引擎遇到非法標(biāo)識符,就會報錯。
簡單說,標(biāo)識符命名規(guī)則如下:
第一個字符,可以是任意Unicode字母(包括英文字母和其他語言的字母),以及美元符號($)和下劃線(_)。第二個字符及后面的字符,除了Unicode字母、美元符號和下劃線,還可以用數(shù)字0-9。下面這些都是合法的標(biāo)識符。
arg0_tmp$elemπ
下面這些則是不合法的標(biāo)識符。
1a // 第一個字符不能是數(shù)字23 // 同上*** // 標(biāo)識符不能包含星號a+b // 標(biāo)識符不能包含加號-d // 標(biāo)識符不能包含減號或連詞線
中文是合法的標(biāo)識符,可以用作變量名。
var 臨時變量 = 1;
JavaScript有一些保留字,不能用作標(biāo)識符: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。
另外,還有三個詞雖然不是保留字,但是因為具有特別含義,也不應(yīng)該用作標(biāo)識符:Infinity、NaN、undefined。
回答5:標(biāo)識符不符合規(guī)范add-button中間的-非法字符
回答6:最好用_,不要用-
相關(guān)文章:
1. mysql - 分庫分表、分區(qū)、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處2. css - 移動端 oppo 手機之 Border-radius3. 人工智能 - python 機器學(xué)習(xí) 醫(yī)療數(shù)據(jù) 怎么學(xué)4. 關(guān)于Mysql聯(lián)合查詢5. 如何修改phpstudy的phpmyadmin放到其他地方6. javascript - vue-echarts-v3使用的過程中折線圖區(qū)域呈漸變色。7. python 計算兩個時間相差的分鐘數(shù),超過一天時計算不對8. 索引 - 請教下Mysql大數(shù)據(jù)量的聯(lián)合查詢9. pip安裝提示Twisted錯誤問題(Python3.6.4安裝Twisted錯誤)10. 爬蟲圖片 - 關(guān)于Python 爬蟲的問題
