Javascript 各种脚本类型属性和标准js,用户代理的区别是什么

Javascript 各种脚本类型属性和标准js,用户代理的区别是什么,javascript,html,Javascript,Html,我通常编写没有类型属性的脚本标记。然而,我看到了几种不同类型的脚本。所以我用不同的类型进行了测试,除了我故意输入了错误的类型外,所有的类型在我看来都是一样的 <script>alert(1)</script> <script type="text/javascript">alert(2);</script> <script type="text/ecmascript">alert(3);</script> <scrip

我通常编写没有类型属性的脚本标记。然而,我看到了几种不同类型的脚本。所以我用不同的类型进行了测试,除了我故意输入了错误的类型外,所有的类型在我看来都是一样的

<script>alert(1)</script>
<script type="text/javascript">alert(2);</script>
<script type="text/ecmascript">alert(3);</script>
<script type="application/ecmascript">alert(4);</script>
<script type="application/javascript">alert(5);</script>
<script type="foo/javascript">alert(6);</script>
<script type="text/html">alert(7);</script>
<script type="application/x-javascript">alert(8);</script>
警报(1)
警报(2);
警惕(3);
警惕(4);
警惕(5);
警惕(6);
警觉(7);
警觉(8);
问题:

  • 若脚本并没有类型属性,就像我假设的那个样,它是否使用浏览器默认类型

  • 看起来text/*用于浏览器,application/*用于移动应用程序。我说得对吗

  • 在脚本类型属性中,javascript和ecmascript之间有什么区别

  • 我问了一个关于vanilla js和pure js之间的问题,但是这个问题已经被删除了。所以我猜他们是一样的(可能太明显了)。是真的一样吗?那么为什么要使用不同的名称(Javascript、香草Javascript)?通过使用vanilla脚本作为外部资源,我们可以进行独立于浏览器的javascripting吗


  • 1。如果给定的脚本没有type属性,正如我假设的那样,它是否使用浏览器默认类型?

    对。所有浏览器都认为是这样,现在已经在HTML5中进行了规范化。根据w3.org,type属性默认为
    “text/javascript”

    相关摘录自:

    type属性提供脚本的语言或脚本的格式 数据。如果属性存在,则其值必须是有效的MIME 类型。不能指定字符集参数。默认值,即 如果属性不存在,则使用“text/javascript”

    因此,对于所有浏览器,放置脚本的最佳方式是:

    <script>alert(1);</script>
    
    警报(1);
    
    2。看起来text/*用于浏览器,application/*用于移动应用程序。我说的对吗?

    如果HTML文档中包含
    script
    元素,则应忽略
    type
    属性的值或
    “text/javascript”
    ,即使在移动应用程序中也是如此。过去曾有过各种情况,建议使用其他类型,但现在的标准是
    “text/javascript”

    3.在脚本类型属性中,javascript和ecmascript之间的区别是什么?

    没有区别。您可能知道,基于JavaScript的规范化标准的名称。
    “text/javascript”
    不仅是脚本元素中引用javascript的标准方式,而且您的浏览器只有一个JS引擎。它无法根据您可能在type属性中指定的口味来选择另一个

    4。我问了一个关于vanilla js和pure js之间的问题,但是这个问题已经被删除了。所以我猜他们是一样的(可能太明显了)。是真的一样吗?那么为什么要使用不同的名称(Javascript、香草Javascript)?通过使用vanilla脚本作为外部资源,我们可以执行独立于浏览器的javascripting吗?

    英语中的“香草某物”指某物的基本味道。在计算中,它通常指的是一种没有添加或插件的语言。这里它指的是没有附加库的JavaScript(例如jQuery)。这句话的意思通常是重申许多事情在没有图书馆的情况下是可能的,即使人们经常认为图书馆是必要的。该网站幽默地支持这一观点,这也是你经常阅读“vanilla js”表达的另一个原因。所以,当然,“香草js”只是JavaScript,也就是“纯js”

    请注意,“香草js”并不是特别“独立于浏览器”,因为许多js库的主要目标是提供一个统一的层来隐藏浏览器之间的差异(除IE外,大多数情况下所有浏览器都提供这些特性)