[英]why javascript function does not print
我的以下代碼有問題:
<script type="text/javascript">
function testGenerator() {
yield "first";
document.write("step1");
yield "second";
document.write("step2");
yield "third";
document.write("step3");
}
var g = testGenerator();
document.write(g.next());
document.write(g.next());
</script>
為什么該功能什么都不打印?
首先,檢查此圖表以確保您使用的瀏覽器支持yield。
然后,查看Mozilla關於迭代器的部分 ,或僅閱讀下面引用的要點:
為了使用JavaScript 1.7的某些新功能,您需要指定要使用JavaScript 1.7。 在HTML或XUL代碼中,使用:
<script type="application/javascript;version=1.7"></script>
使用JavaScript Shell時,您需要使用命令行上的-version 170開關或使用version()函數來設置要使用的版本:
version(170);
需要使用新關鍵字“ yield”和“ let”的功能要求您指定版本1.7,因為現有代碼可能會將這些關鍵字用作變量或函數名稱。 在不指定JavaScript版本的情況下,可以使用未引入新關鍵字的功能(解構分配和數組理解)。
TL; DR:yield關鍵字僅可用於包裝在<script type="application/javascript;version=1.7">
中的HTML中的代碼塊
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.