54b59e3c

и различные усовершенствования, которые обсуждаются


В JavaScript версии 1.4 появились новые возможности и различные усовершенствования, которые обсуждаются в онлайновом учебнике Core JavaScript Reference v1.4:

Также можно воспользоваться моим переводом на русский язык

.

В следующем списке резюмируются эти новые возможности:

  • Обработка исключений.


  • Вы можете вызывать/throw и отлавливать/catch исключения, используя операторы throw и try...catch.


  • Новые операторы in и instanceof.


  • Оператор in возвращает true, если специфицированное свойство имеется в специфицированном объекте. Оператор instanceof возвращает true, если специфицированный объект имеет специфицированный тип.


  • Изменения в LiveConnect.


  • Некоторые изменения в LiveConnect улучшили способ взаимодействия кодов Java и JavaScript:


  • Методы класса java.lang.Object наследуются в JavaArray. Дополнительно метод JavaArrary.toString теперь вызывает метод java.lang.Object.toString.


  • Вы можете передавать объект JavaClass в Java-метод, который требует аргумента типа java.lang.Class, вместо создания оболочки вокруг экземпляра класса java.lang.Class.


  • Вы не можете конструировать экземпляр JSException с детальным сообщением.
  • Три первоначальных public-конструктора для Java-класса netscape.javascript.JSException, поддерживавшего эту возможность, не рекомендуются/deprecated.
  • Вы не можете использовать операцию == для сравнения двух экземпляров JSObject. Используйте JSObject.equals.


  • Изменения в методе eval:


    • Метод верхнего уровня eval не может вызываться неявно. В предыдущих версиях лишь рекомендовалось, чтобы этот метод не вызывался неявно; начиная с JavaScript 1.4, неявный вызов eval может привести к ошибке времени выполнения. Это изменение повысит производительность.


    • Метод eval больше не доступен как метод класса Object; вместо него используйте функцию верхнего уровня eval.


  • Изменения в объекте Function:


    • Вы больше не должны специфицировать имя функции при использовании массива arguments; массив arguments это переменная, он больше не является свойством Function -объектов. Это изменение улучшит производительность.
    • Не рекомендуется использовать свойство Function.arity. Оно заменено свойством Function.length.



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