search

Home  >  Q&A  >  body text

javascript - jQuery对象为啥不能用$('.selector').0而非要用$('.selector').get(0)?

我知道jQuery对象是类数组对象,一般对象都可以用:
obj.key或者obj[key]
为啥jQuery对象只能用:
$obj.get(key)或者$obj[key] (另外,以非数字为键的才可以用$obj.key)

是不是jQuery源码里面这样定义的,有何意义?

ringa_leeringa_lee2902 days ago727

reply all(6)I'll reply

  • 高洛峰

    高洛峰2017-04-10 14:52:07

    编程语言中 以数字开头的标示符不合法吧 后面直接跟数字不感觉很奇怪吗 语义性也不如get啊

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 14:52:07

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 14:52:07

    数字key不能用 . 操作符,请用 []的方式操作,所以,你可以get(0)也可以[0]

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:52:07

    首先,纠正一下你的错误,.get(): 这是通过jQuery对象获取一个对应的DOM元素。获取到的不是jquery对象,而是DOM对象。

    其次,这样做不符合面向对象语言的设计,$("")这其实就是jquery(""),他获取到的就是个对象,而对象是可以有属性和方法的。$("")这就是个对象,而$("").1,1能作为属性吗?

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 14:52:07

    答案你自己都说了,这不是jq的问题,是js语法的问题

    reply
    0
  • 阿神

    阿神2017-04-10 14:52:07

    纯数字不是一个合法的标识符。

    reply
    0
  • Cancelreply