1.引入方式一:使用<script>標籤,直接在HTML代碼里加入JavaScript代碼;javascript
2.引入方式二:使用<script src=」XXX.js」>調用外部的JavaScript(.js)文件;html
<script src=」js/jquery.js」></script>
注意:外部的.js文件裏面直接寫js代碼,不要在開頭和結尾加標籤; html5
3.引入方式三:在html標籤的事件中,超級連接裏;
java
<button onclick="javaScript語言"></button> <a href="javascript:alert('aa');alert('bb')">點擊</a>
4.錯誤方式:調用外部的JavaScript(.js)文件,就不能再在裏面寫;jquery
<script src=」xxx.js」> var _name =’張三’; alert(_name); </script>
5.多段script的執行順序chrome
按引入順序,逐段執行(思考爲何N多頁面吧JS寫在最後?)編程
a.防止頁面一次出現,等待時間較長,不符合人的閱讀習慣瀏覽器
b.防止js語言已經出現,可是變量在js以後沒有在內存中讀取,致使js找不到變量發生錯誤 服務器
6.JS代碼放的位置:頁面head和body均可以寫異步
頁面中的腳本會在頁面載入瀏覽器後當即執行,咱們並不總但願這樣。有時,咱們但願當頁面載入時執行腳本;而另外的時候,咱們則但願當用戶觸發事件時才執行腳本。
a.把JavaScript代碼放到HTML<body>部分
把頁面載入時就須要執行的JavaScript代碼放到<body>標籤之間。這是一種規範,建議這樣作。
b.把JavaScript代碼放到HTML<head>部分
把當腳本被調用時,或當事件被觸發時纔會執行的JavaScript代碼放到<head>標籤之中,這樣就能夠確保在調用JavaScript以前就載入了它。這是一種規範,建議這樣作。
7.如何與老瀏覽器打交道
那些不支持 JavaScript 的瀏覽器會把腳本做爲頁面的內容來顯示。爲了防止這種狀況發生,咱們可使用這樣的 HTML 註釋標籤:
1 <html> 2 <body> 3 <script type="text/javascript"> 4 <!--//HTML註釋 5 document.write("Hello World!");//JavaScript代碼 6 //-->//JavaScript註釋 7 </script> 8 </body> 9 </html> 10 /*註釋行末尾的兩個正斜槓是 JavaScript 的註釋符號,它會阻止 JavaScript 編譯器對這一行的編譯.*/
(1)JavaScript語句結束符
一般要在每行語句結尾加上一個分號(;),可是根據JavaScript標準語句結尾的分號是可選的,瀏覽器會把行末做爲語句的結尾。
1 <script type="text/javascript"> 2 document.write("語句1<br>") 3 document.write("語句2<br>") 4 </script>
(2)JavaScript代碼塊
JavaScript能夠分批的組合起來,使用「{」「}」把多條語句括起來組成代碼塊。代碼塊的做用是一併的執行語句序列。
1 <script type="text/javascript"> 2 { 3 document.write("<h1>This is a header</h1>"); 4 document.write("<p>This is a paragraph</p>"); 5 document.write("<p>This is another paragraph</p>"); 6 } 7 </script>
(3)JavaScript註釋
1 <script type="text/javascript"> 2 3 document.write("JavaScript註釋!");//雙斜槓表示行註釋(第一種) 4 /* 5 第二種,塊註釋 6 */ 7 </script>
延遲腳本
HTML4.0.1中定義了defer屬性,它的用途是代表腳本在執行時不會影響頁面的構造。也就是說,腳本會延遲到整個頁面都解析完畢後再執行。 所以,在<script>元素中設置defer屬性,至關於告訴瀏覽器當即下載,但延遲執行。在XHTML文檔中,要把defer屬性設置爲defer=「defer"。
異步腳本
html5爲<script>定義了async 屬性。整個屬性與defer屬性相似,都用於改變處理腳本的行爲。一樣,與defer相似,async只適用於外部腳本文件,並告訴瀏覽器當即下載文件。 但與defer不一樣的是,標記爲async的腳本並不保證按照指定他們的前後順序執行。指定async的目的是不讓頁面等待腳本文件下載和執行,從而異步加載頁面其餘內容。所以,建議異步腳本不要再加載期間操做DOM。
瀏覽器有渲染html代碼的功能,把html源碼在內存裏造成一個DOM對象,就是文檔對象。瀏覽器內部有一個JS的解釋器/執行器/引擎、如chrome 用V8引擎。咱們在html裏寫一個JS代碼,JS代碼被引擎所執行,而執行的結果就是對DOM的操做。而對學習DOM操做的結果,就是咱們經常看到的特效,好比圖片漂浮,文字變色等。學習Javascript要注意: