代码之家  ›  专栏  ›  技术社区  ›  Always_a_learner

为什么浏览器不能直接执行js

  •  -3
  • Always_a_learner  · 技术社区  · 6 年前

    我知道我的问题很幼稚,对某些人来说可能很有趣。 我知道如何使用html文件在浏览器中执行js。

    但如果我有文件: 示例.js

     const posts = [{"title":"post1"},
        {"title":"post2"}]
    
    
       function getPosts()
        {
            setTimeout(()=>{
                posts.forEach((post)=>
                {
                    let output = post;
                }
            )
              document.body.innerHTML(output);
            },3000)
        }
    
        getPosts();
    

    如果我在浏览器中打开文件(就像我们对html文件一样),为什么我看到的是代码而不是输出? 我试图澄清一些概念。因为据我所知浏览器有编译js的引擎,那么为什么它没有编译js呢?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Quentin    6 年前

    当您访问返回JavaScript的URL时,浏览器会将其源代码呈现为文本。

    它不会执行它,因为没有一个浏览器作者考虑过 执行JavaScript 才能得到更有用的结果。

    当JavaScript首次被引入时,它被设计为使用现有DOM作为其主要I/O系统。浏览器仍然希望从WWW加载的JS能够以这种方式工作。