11

我正在尝试在 Firefox中使用let和。yield我正在测试版本 18 和 21(每晚)并获得相同的结果。

这是我非常简单的测试脚本:

<html>
    <head>
        <title>test</title>
        <script type="text/javascript">
            'use strict';
            function a() {
                yield 5;
            }
        </script>
    </head>
    <body></body>
</html>

我收到此错误:

yield 是一个保留的标识符

同样,当我做一个简单的测试时,let我得到“let 是一个保留的标识符”,这真的很令人沮丧,因为let 据说自版本 2 以来就存在于 Firefox 中

奇怪的是,如果我在 Firebug 中执行相同的代码,它就可以工作!

我在标签的typeandlanguage属性中尝试了各种其他字符串,script但没有找到一个有效的神奇字符串。

这是怎么回事?如何让这些东西与脚本标签一起使用?


编辑

嗯,我明白了,所以你必须指定版本号。我已经尝试过了,但是对于我原来使用网络工作者的更复杂的脚本。显然在一个包含 web worker 的脚本上使用,version=1.7该脚本包含一个使用但不够好的脚本 - web worker 脚本仍然中断......然后我尝试减少到​​最简单的情况,但显然没有在最简单的情况下尝试。letyieldversion=1.7

谢谢......可能会在稍后(搜索后)发布另一个关于如何让网络工作者工作的问题。

4

1 回答 1

19

正如mdn note所说,

yield 关键字仅可用于包裹在<script type="application/javascript;version=1.7">块(或更高版本)中的 HTML 中的代码块

因此,更改<script type="text/javascript"><script type="application/javascript;version=1.7">将使其工作。

于 2013-01-15T05:34:51.247 回答