簡體   English   中英

為什么javascript功能不打印

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM