JavaScript基礎1——基本概念

  • 關於JS的概念
  1. JavaScript 是一種弱類型語言。
  2. JavaScript 是一種客戶端腳本語言(腳本語言是一種輕量級的編程語言)。
  3. JavaScript是基於對象的。(由於面向對象須要具備封裝、繼承、多態的特徵)
  4. JavaScript是一門解釋型的語言,瀏覽器充當解釋器(就是說,代碼執行不進行預編譯)。
  5. JavaScript執行引擎並非一行一行的執行,而是一段一段的分析執行。
  • JS的引入與放置位置

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 編譯器對這一行的編譯.*/
  • JS的語句與註釋

(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。

  • JS與DOM的關係

 

瀏覽器有渲染html代碼的功能,把html源碼在內存裏造成一個DOM對象,就是文檔對象。瀏覽器內部有一個JS的解釋器/執行器/引擎、如chrome 用V8引擎。咱們在html裏寫一個JS代碼,JS代碼被引擎所執行,而執行的結果就是對DOM的操做。而對學習DOM操做的結果,就是咱們經常看到的特效,好比圖片漂浮,文字變色等。學習Javascript要注意:

 

  1. JS語言自己的語法
  2. DOM對象(把body,div,p等節點樹當作一個對象)
  3. BOM對象(把瀏覽器的地址欄,歷史記錄,DOM等莊子啊一個對象)
  4. 瀏覽器是宿主,但JS的宿主不限於瀏覽器,也能夠是服務器端
相關文章
相關標籤/搜索