2
我今天剛碰到一點困惑,"string".indexOf('');
總是返回0
,但是我期望-1
(對於false
);相反,"string".lastIndexOf('');
總是返回6
爲什麼''(空串)滲透所有的琴絃?
lastIndexOf
比較容易理解,因爲字符串是6個字母("string".length
,是零索引回報5
),但我沒有看到的ECMAScript規範(5.1或6.0)任何地方,描述爲什麼''
將被視爲一個詞/字符邊界
究竟是在這裏發生了什麼?
是的,''''被視爲一個字/字符邊界。 – PitaJ
'indexOf()'返回找到的匹配的_first_匹配項,如果根本找不到字符串,則返回'-1'_only_。 – Nit
''''被視爲... ummm ...空字符串。在另一個字符串中第一次出現空字符串就在它的開頭。 – 2015-10-14 18:38:54