《JavaScript高階程式設計第3版》-學習筆記-1

呂亞輝發表於2015-03-04

P1-P30頁

1、<script>標籤的屬性

async:async(html)  | async=”async”(xhtml),表示立即下載指令碼,但不馬上執行(執行沒有了先後順序),不會暫停構建文件。 

defer:defer(html)| defer(XHTML),表示立即下載指令碼,但延遲到解析到</html>標籤才執行指令碼。

 

2、在xhtml中嵌入js程式碼加CDATA

<script>
//<![CDATA[
    ...code... 
    if(a < b){
        ...code... 
    }
    ...code... 
//]]
</script>

在xhtml中,a < b這種小於號會被當做一個新的標籤解析,但作為標籤而言,<後不能有空格,因此會有語法錯誤,所以為了解決這種問題,最好引入CDATA片段,但又有瀏覽器相容XHTML,不支援CDATA,所以要將CDATA標記註釋掉。

 

3、使用“use strict”開啟解析引擎的嚴格模式

 

4、省略var操作符可定義全域性變數,但最好不要這麼做

 

5、自動boolean型別轉換

1 var message = "hello";
2 if(message){
3     console.log(message);
4 }

這裡的if(message) 等價於if(Boolean(message))

6、IEE754數值浮點計算的通病,參見部落格 0.1+0.2!=0.3, why? how to solve? — 簡議javascript的浮點運算

 


相關文章