BOM 是「 Browser Object Model 」的縮寫,簡稱「 瀏覽器對象模型 」。
BOM 定義了 JavaScript 操做瀏覽器的接口,提供了訪問某些功能(如瀏覽器窗口大小、版本信息、瀏覽歷史記錄等)的途徑以及操做方法。
遺憾的是,BOM 只是 ECMAScript 的一個擴展,沒有任何相關標準,W3C也沒有對該部分做出規範,每一個瀏覽器廠商都有本身的 BOM 實現,這能夠說是 BOM 的軟肋所在。
一般狀況下,瀏覽器特定的(即非 W3C 標準規定的)JavaScript 擴展都被看做 BOM 的一部分,主要包括:數組
注意:BOM 有一些「事實上的標準」,如操做瀏覽器窗口、獲取瀏覽器版本信息等,在不一樣瀏覽器中,對它們的實現方法是同樣的。瀏覽器
JavaScript 支持單行註釋和多行註釋:單行註釋以 // 開頭;多行註釋以 /* 開始,以 */ 結尾。 JavaScript不支持多行嵌套註釋。cookie
JavaScript 是弱類型的語言,聲明變量時無需聲明數據類型,JavaScript 會根據變量內容自動判斷數據類型。這就意味着,JavaScript 擁有動態類型,同一個變量能夠賦予不一樣類型的值。這在C語言、C++和Java等強類型語言中是沒法辦到的。JavaScript 變量命名規範:變量必需以 字母、$ 和 _ 開頭,不能以數字和其餘字符開頭。區分大小寫dom
在JavaScript中,未賦值變量有一個默認值,是 undefined ,即」 未定義 「。在JavaScript中,引用一個未賦值的變量,其值爲 undefined ,引用一個未聲明的變量將會引起錯誤。spa
Number | 數字類型 |
String | 字符串類型 |
Boolean | 布爾類型 |
Undefined | 表示一個變量未被賦值 |
Null | 空的對象 |
Number 類型還有一個特殊值 NaN(非數值 Not a Number)。用於表示一個原本要返回數值的操做並未返回數值。code
若是定義的變量準備在未來用於保存對象,那麼最好將該變量初始化爲 null 而不是其餘值。對象
常見的運算符有算數運算符、比較運算符和邏輯運算符。「+」號不但能夠將兩個數據相加,還能夠用來鏈接字符串。當字符串和數值進行混合運算時,JavaScript 會自動判斷「 + 」號的做用,是相加運算,仍是鏈接字符串。若是是鏈接字符串,數值也將被轉換爲字符串。blog
var myArray=new Array(); myArray[0] = " zhangming "; myArray[1] = " zhaowei "; myArray[2] = " wanghua ";
var myArray=new Array(" zhangming " , " zhaowei " , " wanghua ");
var myArray=[]; myArray[0] = " zhangming "; myArray[1] = " zhaowei "; myArray[2] = " wanghua ";
var myArray=[ " zhangming " , " zhaowei " , " wanghua " ];
在JavaScript中,經過 length 來得到數組、字符串的長度。接口
經過 Math 對象的 random() 方法能夠返回一個介於 0 ~ 1 之間的隨機數。ip
if( ){ } else if( ){ }至關於if( ){ }else{ if( ){ } }
三目運算符
語法:
conditions ? statementA : statementB ;
上述語句,首先判斷條件condition,若結果爲真則執行語句statementA,不然執行語句statementB。
值得注意的是,因爲 JavaScript 腳本解釋器將分號「 ; 」做爲語句的結束符,statementA 和 statementB 語句均必須爲單個語句,使用多個語句會報錯。
在JavaScript中,使用 break 和 continue 語句跳出循環: