length – свойство объекта, которое возвращает длину строки либо массива. Что касается массивов, то в случае использования данного свойства, результатом будет число, превосходящее на единицу верхний индекс массива, это связано с тем, что индексация массива происходит от 0 а не от 1.
Есть особенности, которыми обладает данное свойство, и о которых следует помнить:
Рассмотрим простой пример, для обхода массива, с условием, где используется свойство length.
var numbers = [1,2,3,4,5]; for (var i = 0; i < numbers.length; i++){ alert(numbers[i]); }
Обратите внимание, что использование подобного перебора массива требует от массива упорядоченность его элементов. Если вы используете библиотеку JQuery вы так же можете воспользоваться конструкцией each.
Укорачиваем массив
var numbers = [1,2,3,4,5]; numbers.length=3 // numbers теперь [1,2,3]
Расширяем массив
var numbers = [1,2]; numbers[numbers.length]=3 // numbers теперь [1,2,3]
В случае со строками, то length возвращает длину строки. Таким образом, свойство содержит количество юникодовых символов в строке. Таким образом, для пустых строк length будет возвращать 0.
Для примера, давайте попробуем измерить длину заданной строки.
var x = "Тест" alert("Длина равна " + x.length) // 4
Стоит обратить внимание на то, что пробел – тоже символ, и если вы замеряете строку содержащее пробелы, то они будут так же учитываться как символы.