在Firefox中使用let和yield

时间:2013-01-15 05:22:52

标签: javascript

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

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

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

我收到此错误:

yield is a reserved identifier

类似地,当我使用let进行简单测试时,我得到“let is a reserved identifier”,这真是令人沮丧,因为let has supposedly existed in Firefox since version 2

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

我在type标记的languagescript属性中尝试了各种其他字符串,但没有找到有效的神奇字符串。

发生了什么事?如何使用脚本标记来处理这些内容?


修改

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

谢谢......可以稍微发布另一个问题(搜索之后),了解如何让这对网络工作者起作用。

1 个答案:

答案 0 :(得分:19)

正如mdn note所说,

  

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

<script type="text/javascript">更改为<script type="application/javascript;version=1.7">会使其有效。