Я читал о ключевом слове урожая в JavaScript, и я должен использовать его в своем проекте. Я считал, что это ключевое слово было реализовано, начав с определенной версии JS, таким образом, я думаю, что старые браузеры не поддерживают его (право?).
Существует ли способ проверить, поддерживается ли ключевое слово урожая? или по крайней мере существует ли способ проверить, больше ли версия JS или равна, чем тот, который реализует то ключевое слово (1.7)?
yield
вводит новый синтаксис в JavaScript. Вы не сможете использовать yield
, пока не укажете, что вам нужен новый синтаксис JavaScript, включив номер версии в атрибут script type
(*).
Когда вы указываете версию скрипта, только браузеры, поддерживающие данную версию, будут выполнять блок. Таким образом, только Firefox, но не IE, Opera или WebKit, выполнит верхний блок в:
<script type="text/javascript;version=1.7">
function x() {
yield 0;
}
var canyield= true;
</script>
<script type="text/javascript">
if (!window.canyield) {
// do some fallback for other browsers
}
</script>
(*: обратите внимание, что тип и версия, указанные в атрибуте type
, определяют только то, будут ли внешние скрипты извлечены, выполнены, и режим выполнения. Content-Type
скрипта, к сожалению, полностью игнорируется.)
Строго говоря, только браузеры Mozilla поддерживают JavaScript. Все браузеры должны поддерживать ECMAScript, а старые версии JavaScript являются реализацией ECMAScript.
На этом сайте перечислено, какие версии Javascript поддерживаются в каких версиях браузеров.
MSIE использует JScript. В JScript нет функции yield. Поэтому использование yield ограничит поддержку браузером вашей страницы.
Попробуйте https://developer.mozilla.org/en/New_in_JavaScript_1.7 для получения информации об использовании JavaScript 1.7