1. 程式人生 > >Js基本概念(一)

Js基本概念(一)

1. <script></script>元素應該放在<body>元素內。因為如果在<head>元素內,那麼所有的Js程式碼都要被下載解析執行完成後才可以呈現頁面的內容。即瀏覽器遇到<body>標籤。這樣會導致在呈現頁面時出現延遲。所有的<script>元素都會按照他們在頁面中出現的先後順序執行。

2. 延遲指令碼:<script>的defer屬性,只適用於外部指令碼執行。表明指令碼會被延遲到整個頁面都解析完畢之後再執行-----即立即下載,但延遲到瀏覽器遇到</html>標籤後再執行。且第一個延遲指令碼一定會在第二個延遲指令碼之前執行。Html5會忽略defer屬性。

3.非同步指令碼:<script>的async屬性,只適用於外部指令碼的執行。表明指令碼會被延遲到整個頁面都解析完畢之後再執行-----即立即下載,但延遲到瀏覽器遇到</html>標籤後再執行。。但是指令碼並不保證按照他們的指定先後順序執行。

4.XHTML:可擴充套件標記語言(Extensible HyperText Markup Language)程式碼規則比HTML嚴格。比如<號被看成是標籤。解決辦法是:

<script type="text/javascript">

   //<![CDATA[    使用註釋是因為有的瀏覽器不相容XHTML----即不支援CData片段

             if(a < b){

                   alert("A is less than B");

             }

   //]]>

</script>

4. <noscript>元素

<noscript>

       <p>本頁面需要瀏覽器支援(啟用)Javascript。</p>

</noscript>

以上的內容只有在瀏覽器不支援指令碼或者瀏覽器支援指令碼,但指令碼被禁用時顯示。

5.  ECMAScript中的一切(變數、函式和操作符)都區分大小寫  駝峰規則

6. 識別符號:指變數、屬性、函式的名字,或者函式的引數。規則如下:

    第一個字元必須是一個字母、下劃線(-)或$;

    其他字元可以是字母、下劃線、美元符號或數字。

7. 嚴格模式:"user strict"

8. ECMAScript的變數是鬆散型別的即可以用來儲存任何型別的資料。

     var message = "rourou";

     message = 100;   //修改變數值的同時修改值的型別。

9. 區域性變數和全域性變數

    var操作符定義的變數(函式中)為定義該變數的作用域中的區域性變數。

   省略var操作符定義的變數為全域性變數。

   可以使用一條語句定義多個變數,如下:

   var message = "rourou",

         found = true,

         age = 22;