1、 <script>元素的type属性不是必须的,即使不写type属性,其默认值仍为text/javascript。
<script type="text/javascript">
function sayHi(){
alert("Hi!");
}
</script>
PS:上述代码会被自上而下解析。首先,解释器会解释一个函数的定义,然后将该定义保存在自己的环境中。在解释器对<script>元素内部的所有代码求值完毕之前,页面中的其余内容是不会被浏览器加载或显示的。
注意:带有src属性的<script>元素不应该在其<script>和</script>标签之间包含额外代码,如果包含了额外代码,则会被忽略,只下载并执行外部脚本文件。
2、标签的位置
按照传统的做法,所有的<script>元素都应该放在页面的<head>元素中。这样就意味着必须等到全部的js代码都被下载、解析和执行完成以后,才能开始呈现页面的内容(浏览器在遇到<body>标签是才开始呈现内容)。对于需要很多js代码的页面而言,会导致浏览器在呈现页面时出现明显的延迟,而延迟期间浏览器窗口将是一片空白。为了避免这个问题,一般将全部js引用放在<body>元素中页面内容的后面。
3、MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。