Неважно, вообще.Поскольку индекс начинается с нуля, и string.length
, и string.length-1
будут включать всю строку.
РЕДАКТИРОВАТЬ
Вы можете проверить различия в результате довольнопросто:
var s = '01923456789abcdef';
alert(s.lastIndexOf('f',s.length+1));
alert(s.lastIndexOf('f',s.length));
alert(s.lastIndexOf('f',s.length-1));
alert(s.lastIndexOf('f',s.length-2));
Это предупреждает 16, 16, 16, -1.Таким образом, если вы очень обеспокоены дополнительными несколькими циклами, используемыми, когда пользовательский агент запускает .lastIndexOf()
, вы можете передать .length-1
и провести несколько дополнительных циклов, анализируя дополнительный параметр.