DictionaryForumContacts

 newbie2k7

link 16.02.2009 15:54 
Subject: длина массива VS размер массива // JavaScript progr.
Как лучше переводить array length в применении к языку JavaScript: как "длина массива" или как "размер массива"?

Приведу пару примеров употребления:

length
<...>
A true array object’s length property reflects the number of entries in the array.
An entry can be any kind of JavaScript value, including null. If an entry is in the
10th cell and the rest are null, the length of that array is 10. Note that because
array index values are zero-based, the index of the last cell of an array is one less
than the length. This characteristic makes it convenient to use the property as an
automatic counter to append a new item to an array:

myArray[myArray.length] = valueOfAppendedItem

Thus, a generic function does not have to know which specific index value to
apply to an additional item in the array.

Deleting Array Entries
You can always set the value of an array entry to null or an empty string to wipe
out any data that used to occupy that space. But until the delete operator in NN4
and IE4, you could not completely remove the element.
Deleting an array element eliminates the index from the list of accessible index
values but does not reduce the array’s length, as in the following sequence of
statements

Мне ближе "длина массива", т.е. буквальный перевод. Однако, если верить Гуглу, другой вариант употребляется чаще...

Заранее спасибо за любые ответы.

 newbie2k7

link 16.02.2009 15:57 
Модератору или администратору:

Опять форум глючит при создании темы: ругается на незарегистрированного пользователя, но при попытке "пересоздать" тему от лица другого (незарегистрированного) пользователя создает эту тему нормально :)

 alk moderator

link 16.02.2009 16:06 
пишите на pom@aha.ru - что-то до конца не починено.

по теме см.
http://msdn.microsoft.com/en-us/library/system.array.length.aspx
http://msdn.microsoft.com/ru-ru/library/system.array.length.aspx
общее число элементов массива по всем измерениям

 sledopyt

link 16.02.2009 16:12 
newbie2k7, when in doubt, go to the source:
http://ru.sun.com/java/books/online/vol1/ch7.html

 alk moderator

link 16.02.2009 16:24 
sledopyt - просто для информации, java и javascript далеко не одно и тоже
См. например эпиграф http://lib.ru/JAVA/ или статью
http://www.codenet.ru/webmast/java/stat/jjs.php

 newbie2k7

link 16.02.2009 16:25 
Спасибо за ссылки! Если что, я в курсе, что JavaScript <> Java :)

 newbie2k7

link 16.02.2009 16:38 
http://msdn.microsoft.com/ru-ru/library/system.array.length.aspx
Прошел по ссылке, но, к сожалению, не нашел там ответа на вопрос "длина vs размер"...

Кроме того, язык JavaScript был разработан фирмой Netscape, так что, по-моему, не обязательно опираться на терминологию Microsoft.

 newbie2k7

link 16.02.2009 16:41 
Зашел на Netscape.ru - лучше бы не заходил :)

 sledopyt

link 16.02.2009 16:45 
Конечно же! Упустил, что речь о JavaScript. Sorry for the confusion. Но совет все-равно в силе. Go to the source!

 newbie2k7

link 16.02.2009 16:47 
Нашел еще пример: http://javascript.ru/tutorial/basic/array

Авто-длина length

У каждого массива есть свойство length, которое автоматом меняется при каждом обновлении массива. Длина массива - это не количество элементов, а максимальный целый ключ + 1:

alert(a.length) // всего 2 элемента, но выведет 1000000

Добавлять новый элемент можно эквивалентными вызовами

a[a.length] = "new element"
a.push("new element")

Интересно, не является ли данный пример достаточным основанием для употребления словосочетания "длина массива" - пусть только по отношению к языку JavaScript?

 newbie2k7

link 16.02.2009 16:53 
2 sledopyt

> Go to the source!

I have a few books on JavaScript, but they are all in English. As I need sources in Russian, so I tried Netscape.ru, then Mozilla.ru (Mozilla is Netscape's descendant). Found nothing relevant at all :(

 newbie2k7

link 17.02.2009 7:13 
Похоже, даже на сайте microsoft.com термины "длина массива" и "размер массива" в контексте языка JScript употребляются как взаимозаменяемые:
http://www.google.ru/search?hl=ru&inlang=ru&newwindow=1&ie=windows-1251&q=JScript+"длина+массива"+site:microsoft.com&btnG=Поиск&lr=
http://www.google.ru/search?hl=ru&inlang=ru&newwindow=1&ie=windows-1251&q=JScript+"размер+массива"+site:microsoft.com&btnG=Поиск&lr=

Нелегкий выбор, однако...

 NC1

link 18.02.2009 3:35 
В языках с сильной типизацией длина и размер -- это разные вещи. Длина (она же "размерность") -- это число членов. Размер -- это занимаемая массивом память в байтах. Но в JavaScript, где типизация слабая, а функционал низкого уровня отсутствует, это противопоставление не имеет смысла, поскольку определить размер чего бы то ни было в памяти невозможно (да он к тому же еще платформозависим). Соответственно, длину и размер часто считают синонимами...

 newbie2k7

link 18.02.2009 3:44 
2 NC1
Спасибо за ответ!

 Atenza

link 18.02.2009 6:33 
мдааааааа
вот это особенно предложение:
"Но в JavaScript, где типизация слабая, а функционал низкого уровня отсутствует, это противопоставление не имеет смысла, поскольку определить размер чего бы то ни было в памяти невозможно (да он к тому же еще платформозависим)" - для несведущих, как я, звучит как нечто сюрреальное или ирреальное или нереальное))))))))

 newbie2k7

link 18.02.2009 11:10 
2 Atenza
Ничего сюрреального :)

Язык программирования: http://ru.wikipedia.org/wiki/Язык_программирования

Типизация: http://ru.wikipedia.org/wiki/Типизация

Строгая типизация: http://ru.wikipedia.org/wiki/Строгая_типизация

Слабая типизация: http://en.wikipedia.org/wiki/Weak_typing

Низкоуровневый язык программирования: http://ru.wikipedia.org/wiki/Низкоуровневый_язык_программирования

Высокоуровневый язык программирования:
http://ru.wikipedia.org/wiki/Высокоуровневый_язык_программирования

Всё остальное при желании можете нагуглить сами.

 

You need to be logged in to post in the forum