在HTML中使用Javascript:javascript
————————————————————————————————————————————————————————html
主要內容;html5
1、<script>元素的使用。java
2、嵌入腳本和外部引入腳本。瀏覽器
3、文檔模式對Javasrcipt的影響。異步
4、什麼狀況下考慮禁用Javascript。async
————————————————————————————————————————————————————————函數
1、<script>元素的使用:spa
一、在網頁中使用Javascript的主要方法就是使用<script>元素來實現。如今<srcipt>元素是HTML規範中的一員,在HTML 4.01中爲<script>元素定義了6個屬性:htm
a、async --可選;
b、charset --可選;
c、defer -- 可選;
d、language --廢棄;
e、src -- 可選;
f、type -- 可選。
—————————————————————————————————————————————————————————
2、嵌入腳本和外部引入腳本
有兩種使用方法:第一種直接在HTML頁面中寫入:
<script type="text/javascript">
function sayhi(){
alert("hello");
}
</script>
包含在<script>元素內的的代碼會被從上至下一次被執行,解釋器會一個函數一個函數的解釋,在一個函數沒被解釋完之前其餘的都是不會發生任何的變化的。
第二種方法:嵌入外部的js文件:
<script type="text/javascript" src="example.js"></script>
這樣就能夠成功的引入一個js的文件了。
注意若是在 包含src屬性的<script></script>元素中在寫入js的代碼,這裏的代碼會被忽略,仍是執行經過src引入的js文件。
<script>元素在HTML標籤結構中處於那個位置呢?
<script>元素處於<head></head>元素之間。
幾個疑惑點:
你們都知道HTML標籤執行的時候是從上至下一行一行的執行的那麼把javascript標籤方在<head>標籤這裏,是否是就是在頁面加載內容以前就的把全部的javascript加載徹底呢?要是javascript的
代碼不少加載的時間很長那豈不是,加載的這段時間瀏覽器將是空白的,必然用戶體驗就差了這是個問題??
解決這個問題通常有三個辦法:
一、把<script>元素放到</body>元素上面。
二、使用延遲加載屬性「defer」eg:<script type="text/javascript" defer="defer" src="example.js"></script>
三、異步加載在html5中定義 "async「屬性。
<noscript></noscript> 標籤元素會在不支持腳本的瀏覽器或者禁用了腳本的瀏覽器中提示用戶開啓顯示腳本,而在開啓了腳本的瀏覽器中永遠都是不會出現的。