javascript - 在 Firefox 中使用 let 和 yield

标签 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 中执行相同的代码,它会起作用!

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

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


编辑

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

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

最佳答案

作为mdn note说,

The yield keyword is only available to code blocks in HTML wrapped in a <script type="application/javascript;version=1.7"> block (or higher version)

如此变化<script type="text/javascript"><script type="application/javascript;version=1.7">将使它工作。

关于javascript - 在 Firefox 中使用 let 和 yield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14331617/

相关文章:

javascript - 在 Chrome 扩展中实现 Pusher

javascript - 关闭当前选项卡并转到父选项卡

javascript - 从 JavaScript 调用 C 共享库 API(在 .so lib 中)

javascript - 插入数组并从递归函数返回它

javascript - Canvas drawImage 莫名其妙偏移了 1 Pixel

javascript - 如何在 Node Js中获取调用者姓名

javascript - Redux中如何处理关系数据?

Javascript 比较循环在整数和整数数组之间不起作用

javascript - JQuery 自动完成链接

javascript - 查找所有子组的递归函数