我正在尝试在 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>
我收到这个错误:
同样,当我用 let
做一个简单的测试时,我得到“let is a reserved identifier”,这真的很令人沮丧,因为 let
has supposedly existed in Firefox since version 2 !
奇怪的是,如果我在 Firebug 中执行相同的代码,它会起作用!
我在 script
标签的 type
和 language
属性中尝试了各种其他字符串,但没有找到有效的神奇字符串。
这是怎么回事?我如何让这些东西与脚本标签一起工作?
编辑
嗯,我明白了,所以你必须指定版本号。我试过这个,但对于我原来使用网络 worker 的更复杂的脚本。显然,在包含使用 let
和 yield
的脚本的 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/