За последние 24 часа нас посетили 17477 программистов и 1712 роботов. Сейчас ищет 1551 программист ...

Cайт по javascript

Тема в разделе "JavaScript и AJAX", создана пользователем iliakan, 21 мар 2008.

  1. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    А вы бы нарезали задачу по параграфам каждому :)

    Причем перевести каждый программист сам сможет, хотя бы с помощью переводчика.
    А вот комментарии к переводу, что всё это значит, были бы очень в тему.
     
  2. Zeroglif

    Zeroglif Активный пользователь

    С нами с:
    27 май 2007
    Сообщения:
    12
    Симпатии:
    0
    Свойство объекта активации. Все переменные (variables) - это свойства, но не все свойства - это переменные.

    1) Если "ассоциативный" - это массив, в котором ключи заданы строками, то в этом смысле все объекты в javascript, включая массивы, ассоциативны.

    2) Если "ассоциативный" - это массив, где существует строгая ассоциативная связь между ключом (key) и значением (value), ассоциированным с этим ключом, то в этом смысле все объекты в javascript, включая массивы, не ассоциативны.

    Что бы мы не подразумевали под ассоциативностью, поведение Array object в смысле этой самой ассоциативности (п.1 или п.2 выше) ничем не отличается от поведения Object object, за исключением деталей реализации внутреннего метода [[Put]] с участием свойства length, всё остальное работает в едином ключе, деление на два вида массива не имеет под собой никаких оснований. Тем более странно называть Object object массивом, если создатели языка специально выделили некую структуру отдельно, назвали эту структуру именно массивом, чтобы хотя бы терминами обозначить разницу и не путать людей.
     
  3. Zeroglif

    Zeroglif Активный пользователь

    С нами с:
    27 май 2007
    Сообщения:
    12
    Симпатии:
    0
    Дело в том, что вы используете термин из спецификации - [[Scope]] и складывается стойкое впечатление о детальном описании механизма.

    - "Каждое выполнение функции хранит все переменные в специальном объекте с кодовым именем [[scope]]"
    Не в этом объекте. Не только переменные.

    - "Каждый вызов var ... - всего лишь создает новое свойство этого объекта"
    Не этого объекта.

    - "Такова внутренняя структура "области видимости" - обычный объект"
    Детали реализации внутренней структуры не раскрыты, но сам механизм предполагает, что речь идёт не об объекте, а о scope chain, о цепочке объектов (Variable objects) или, как говорят в AS - о цепочке областей видимости.

    - "после того, как функция закончила выполнение, ее область видимости [[scope]], т.е весь набор локальных переменных убивается"
    Свойство [[Scope]] статично, не надо путать [[Scope]] и scope chain. Первое создаётся и получает значение в момент создания функции и уже не меняется в зависимости от вызова(ов).

    - "Когда одна функция создается из другой, то для нее создается ссылка на [[scope]] внешней функции"
    Не создаётся.
     
  4. iliakan

    iliakan Активный пользователь

    С нами с:
    19 мар 2008
    Сообщения:
    25
    Симпатии:
    0
    arguments - переменная в смысле языков программирования. Эти детали типа "свойство activation object" совершенно не важны.

    ---

    В статье я подразумеваю, что массив есть и по ключам строковым (Object) и расширение (Array) с дополнительными возможностями.

    Object - является ли ассоциативным массивом? Да, является.
    Но для численных ключей лучше использовать Array.

    Создатели языка запутали людей терминами и экстра-гибкостью.

    Когда человек начинает изучать JS и видит что есть только Array - он думает, что ассоциативных массивов в JS нету вообще.

    Говоря, что в JS есть два типа массивов - для ассоциативного можно использовать Object, для числового - Array, получаем четкий порядок в голове, что зачем использовать.
     
  5. iliakan

    iliakan Активный пользователь

    С нами с:
    19 мар 2008
    Сообщения:
    25
    Симпатии:
    0
    vasa_c: любой параграф выбирай, какой тебя интересует. Можно 1й.
     
  6. Zeroglif

    Zeroglif Активный пользователь

    С нами с:
    27 май 2007
    Сообщения:
    12
    Симпатии:
    0
    Гы. Тогда предлагаю пробежаться по всем статьям и везде слово "свойство" (prototype, constructor, length... и т.п) поменять на слово "переменная". Детали ж совершенно не важны.

    Нет не является (п.2 выше). Да, является (п.1 выше). Строго это не хеш, не словарь, не массив, не что-то-там, это объект javascript, со своими присущими ему особенностями. Если вы пытаетесь обобщить его поведение со структурами из других языков - покажите, в каком месте обобщение и чем это поможет понять объект. Я готов признать объекты (любые) ассоциативными только с точки зрения п.1. Всё остальное надумано.

    Все ключи всех объектов внутри всегда в виде строк. И массивов тоже. Никакой разницы.

    Поэтому вы всё это распутываете, добавив нам ещё один массив. Логично.

    Совершенно правильно думает. Хвалю.

    Возможно. У каждого своя голова. В ней бывает и неправильный чёткий порядок. ;)
     
  7. sword dancer

    sword dancer Активный пользователь

    С нами с:
    17 фев 2008
    Сообщения:
    295
    Симпатии:
    0
    что ещё за "строгая ассоциативная связь"?
     
  8. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Люди, на сайте форум есть? Перебирались бы туда потихонечку. А то сайт хороший получается, а, обсуждая его здесь, вы тот сайт никогда не раскрутите. Да и здесь статьи ТОГО сайта не очень правильно обсуждать. Хоть и интересно.
     
  9. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    а что, мне и здесь нравится, контингент хороший, атмосфера теплая, зачем куда-то перебираться? :)
     
  10. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Затем, что появился хороший сайт. А этот сайт посвящён PHP. И во-вторых, если все будут обсуждать яваскрипт здесь, то что тогда будет там?
     
  11. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    А атмосфера здесь - да. Тёплая-тёплая. Местами даже слишком тёплая. :)
     
  12. sword dancer

    sword dancer Активный пользователь

    С нами с:
    17 фев 2008
    Сообщения:
    295
    Симпатии:
    0
    а пошли туда пхп обсуждать :!:
     
  13. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Ну, пока появился сайт посвященный javascript, на домене javascript
     
  14. Anonymous

    Anonymous Guest

    тссс... не спугивай Zeroglif-а - это такой аццкий гуру JS! Его реально интересно читать.
     
  15. sword dancer

    sword dancer Активный пользователь

    С нами с:
    17 фев 2008
    Сообщения:
    295
    Симпатии:
    0
    что-то он молчит... видимо уже спугнули :( теперь опять появится только через год...
     
  16. iliakan

    iliakan Активный пользователь

    С нами с:
    19 мар 2008
    Сообщения:
    25
    Симпатии:
    0
    Вниманию пожелавшего помочь в переводе vasa_c и не только :)

    Создана страничка и начат перевод спецификации ECMAScript:
    http://javascript.ru/ecma.
     
  17. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Круто, присоеденюсь :)
    А ECMA разрешает переводы без её согласия?
     
  18. Anonymous

    Anonymous Guest

    Ой, а как то маленько некошерно - все на одной странице?
     
  19. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    ФФ виснет, а потом предлагает завершить скрипт.
    Не слишком здорово для сайта по JS.
     
  20. sword dancer

    sword dancer Активный пользователь

    С нами с:
    17 фев 2008
    Сообщения:
    295
    Симпатии:
    0
  21. iliakan

    iliakan Активный пользователь

    С нами с:
    19 мар 2008
    Сообщения:
    25
    Симпатии:
    0
    sword dancer: этот блог принадлежит не мне, а tenshi.

    Тормоза убраны. Документ разбит на страницы по главам.

    ECMA разрешает переводы без ее согласия.