美文网首页
JavaScript学习笔记一

JavaScript学习笔记一

作者: 小菜鸟程序媛 | 来源:发表于2017-01-02 16:07 被阅读18次

<script>元素

  • async:可选,表示应该立即下载脚本,但是不应该妨碍页面的其他操作,只会对外部脚本文件有效。
  • charset:可选,表示通过src属性指定的代码的字符集
  • defer:可选,表示脚本可以延迟到文档完全被解析和显示之后再执行,只对外部脚本文件有效。
  • src:可选,表示包含要执行的外部文件
  • type:可选,表示编写代码使用的脚本语言的内容类型,如果这个值不指定的话,默认是text/javascript
  • 可以通过<script>直接在页面中嵌入javascript代码和包含外部javascript文件。
  • 如果指向外部文件的<script>中又包含了嵌入的javascript代码,那么会被忽略,只会执行所包含的文件中的代码。
  • 无论如何包含代码,只要不存在defer、async属性,浏览器就会按照在页面中的出现顺序依次进行解析
  • 现在默认的都会把javascript放到页面中body的最后面。
<script type="text/javascript">
    function sayHi(){
        alert("Hi!");
    }
</script>

指向外部文件
<script type="text/javascript" src="example.js"/>

延迟脚本

defer属性用途是表明脚本在执行时不会影响页面的构造,脚本会被延迟到整个页面都完成解析后再运行。

<script type="text/javascript" defer="defer" src="example.js"/>

延迟脚本不一定会按照顺序执行,也不一定会在DOMContentLoaded事件触发前执行,因此最好只包含一个延迟脚本。

异步脚本

async只适用于外部脚本文件,并告诉浏览器立即下载文件,但与defer的不同是,async并不能保证脚本按照他们的先后顺序执行。

<script type="text/javascript" async src="example.js"/>

XHTML中的写法是:async="async"
建议异步脚本不要在加载期间修改DOM。

XHTML

不能再代码直接使用<、>等符号,解决办法是第一可以使用(<)等符号
第二种解决办法:

<script type="text/javascript"><![CDATA{
    function compare(a,b){
        if(a<b){
            alert("A is less than B");
        }else if(a>b){
            alert("A is greater than B");
        }
    }
}
]]></script>

不兼容Javascript的解决方案

<script<!--
    function sayHi(){
        alert("Hi!");
    }
//--></script>

给脚本加上HTML注释后,不支持Javascript语法的浏览器,就会忽略这部分代码。

文档模式

//HTML 4.0.1 严格型
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01//EN"
"html://www.w3.org/TR/html4/strict.dtd">

//XHTML 1.0严格型
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-strict.dtd">

//html 5
<!DOCTYPE html>

<noscript> 元素

用以在不支持JavaScript的浏览器中显示替代的内容。

相关文章

网友评论

      本文标题:JavaScript学习笔记一

      本文链接:https://www.haomeiwen.com/subject/spdevttx.html