Клиентский JavaScript. Справочник



              

Новые Возможности в Этой Версии


JavaScript версии 1.3 имеет следующие нововведения и улучшения:

  • Соответствие ECMA. JavaScript 1.3 полностью совместим с ECMA-262. См. детали в книге Клиентский JavaScript. Руководство.
  • Поддержка Unicode. Набор символов Unicode может использоваться для всех известных символов, и Вы можете использовать escape-последовательности Unicode в строковых литералах. См. escape и unescape. См. книгу Клиентский JavaScript. Руководство.
  • Изменения в объекте Array.
    • Если Вы специфицируете единственный числовой параметр в конструкторе Array, Вы тем самым специфицируете начальный размер массива.
    • Метод push возвращает новый размер массива, а не последний добавленный в массив элемент.
    • Метод splice всегда возвращает массив, содержащий удалённые элементы, даже если удаляется только один элемент.
    • Метод toString объединяет массив и возвращает строку, содержащую все элементы массива, разделённые запятыми, а не строку, представляющую исходный код массива.
    • Свойство length содержит беззнаковое 32-битное целое число, имеющее значение меньше 232.
  • Изменения в объекте Date.
    • Устранена зависимость от платформы, что даёт универсальное поведение на всех платформах.
    • Изменён диапазон дат: от -100,000,000 до 100,000,000 относительно даты 01 января 1970 UTC.
    • Добавлен параметр milliseconds в конструктор Date.
    • Добавлены методы getFullYear, setFullYear, getMilliseconds и setMilliseconds.
    • Добавлены методы getUTCDate, getUTCDay, getUTCFullYear, getUTCHours, getUTCMilliseconds, getUTCMinutes, getUTCMonth, getUTCSeconds, setUTCDate, setUTCFullYear, setUTCHours, setUTCMilliseconds, setUTCMinutes, setUTCMonth, setUTCSeconds и toUTCString.
    • Добавлен параметр в метод setMonth.
    • Добавлены параметры minutes, seconds и milliseconds в метод setHours.
    • Добавлены параметры seconds и milliseconds в метод setMinutes.
    • Добавлен параметр milliseconds в метод setSeconds.
    • Добавлен параметр milliseconds в метод UTC.
    • Не рекомендуются методы getYear, setYear и toGMTString.
  • Изменения в объекте Function.
    • Добавлен метод apply, который позволяет примерять метод одного объекта в контексте другого объекта (вызывающего объекта).
    • Добавлен метод call, который позволяет вызывать (выполнять) метод одного объекта в контексте другого объекта (вызывающего объекта).
    • Не рекомендуется свойство arguments.caller.
  • Изменения в объекте String.
    • Методы charCodeAt и fromCharCode используют значения Unicode, а не ISO-Latin-1.
    • Метод replace поддерживает вложение функций вместо второго аргумента.
  • Новый метод toSource. Метод toSource возвращает строку, представляющую исходный код объекта. См. Array.toSource, Boolean.toSource, Date.toSource, Function.toSource, Number.toSource, Object.toSource, RegExp.toSource и String.toSource.
  • Новые свойства верхнего уровня: Infinity, NaN и undefined. Infinity это числовое значение, представляющее бесконечность. NaN это значение, представляющее Not-A-Number/Не-Число. undefined это значение undefined/неопределённое.
  • Новая функция верхнего уровня isFinite. isFinite вычисляет аргумент, чтобы определить, является ли он конечным числом.
  • Изменения в функции верхнего уровня eval. Нельзя использовать функцию eval неявно, вызывая её по имени, отличному от eval.
  • Новые операции строго равенства:  === и !==. Операция === (строго равно) возвращает true, если операнды равны и имеют один тип. Операция !== (строго не равно) возвращает true, если операнды не равны и/или разных типов. См. "Операции Сравнения" и "Использование Операций Равенства".
  • Изменения в операциях == и !=. Использование операций == (равно) и != (не равно) вернулось к тому, что было в JavaScript 1.1. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды в подходящий тип для проведения сравнения. См. "Использование Операций Равенства".
  • Изменения в поведении проверки условия.
    • Вы не должны использовать простые присвоения в условном операторе; например, не специфицируйте условие if(x = y). Предыдущие версии JavaScript конвертировали if(x = y) в (x == y), но 1.3 генерирует ошибку времени выполнения. См. "if...else".
    • Любой объект, значение которого не undefined или null, включая объект Boolean, значение которого false, вычисляется в true при передаче в условный оператор. См. "Boolean".
  • Консоль JavaScript. Консоль JavaScript это окно, выводящее все сообщения об ошибках JavaScript. Когда возникает ошибка JavaScript, сообщение об этом направляется на консоль JavaScript, и никакие диалоги не выводятся. См. Клиентский JavaScript. Руководство.









Содержание    Назад