и различные усовершенствования, которые обсуждаются
В JavaScript версии 1.4 появились новые возможности и различные усовершенствования, которые обсуждаются в онлайновом учебнике Core JavaScript Reference v1.4:
Также можно воспользоваться моим переводом на русский язык
.
В следующем списке резюмируются эти новые возможности:
- Обработка исключений.
Новые операторы in и instanceof.
Изменения в LiveConnect.
Вы можете вызывать/throw и отлавливать/catch исключения, используя операторы throw и try...catch.
Оператор in возвращает true, если специфицированное свойство имеется в специфицированном объекте. Оператор instanceof возвращает true, если специфицированный объект имеет специфицированный тип.
Некоторые изменения в 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 не может вызываться неявно. В предыдущих версиях лишь рекомендовалось, чтобы этот метод не вызывался неявно; начиная с JavaScript 1.4, неявный вызов eval может привести к ошибке времени выполнения. Это изменение повысит производительность.
Метод eval больше не доступен как метод класса Object; вместо него используйте функцию верхнего уровня eval.
Вы больше не должны специфицировать имя функции при использовании массива arguments; массив arguments это переменная, он больше не является свойством Function -объектов. Это изменение улучшит производительность.- Не рекомендуется использовать свойство Function.arity. Оно заменено свойством Function.length.