首页  >  问答  >  正文

javascript - 关于选择器的简单小问题

为什么下面这个选择器总是报错

var add-button=$('button[name=add]')

而换了个变量名就不报错了

var add=$('button[name=add]')

初学者写js遇到的小问题,希望有人可以解惑

三叔三叔2677 天前877

全部回复(6)我来回复

  • 怪我咯

    怪我咯2017-06-21 10:14:21

    变量名区分大小写,允许包含字母、数字、美元符号($)和下划线,但第一个字符不允许是数字,不允许包含空格和其他标点符号和变量名禁止使用JavaScript关键词、保留字全名。add(-)button属于其他符号。

    回复
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-21 10:14:21

    雷雷

    回复
    0
  • 漂亮男人

    漂亮男人2017-06-21 10:14:21

    楼上两位说的都对,初学最好了解一下命名规则和习惯

    回复
    0
  • 为情所困

    为情所困2017-06-21 10:14:21

    标识符(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

    回复
    0
  • 世界只因有你

    世界只因有你2017-06-21 10:14:21

    标识符不符合规范
    add-button中间的-非法字符

    回复
    0
  • 習慣沉默

    習慣沉默2017-06-21 10:14:21

    最好用_,不要用-

    回复
    0
  • 取消回复