1.ECMAScript 2.DOM(document object model)3.BOM(browser object document)
(1)ECMA是(歐洲計算機制造商協會)它規定了js的語法標準。
(2)DOM是文檔對象模型,規定了文檔的顯示結構,能夠輕鬆地刪除、添加和替換節點
(3)BOM是瀏覽器對象模型,就是瀏覽器自帶的一些功能樣式,如搜索框,設置,等學習瀏覽器窗口交互的對象
- 由字母、數字、下劃線、$組成;
- 變量名不能以數字開頭 1num
- 遵循駝峯命名法; 第一個有意義的單詞小寫,之後任何一個有意義的單詞大寫,(語義化:方便維護)
不能以關鍵字保留字做爲變量名;數組
關鍵字:在JS中有特殊意義的單詞; 保留字:在將來有可能成爲關鍵字的詞- 嚴格區分大小寫
基本數據類型和引用數據類型
1.基本數據類型存儲到棧內存中,引用存儲到堆內存中;
2.基本數據類型是操做值的,引用數據類型操做的是空間地址;
基本: number string boolean null undefined symbol
引用: 對象數據類型和函數數據類型
對象數據類型: 對象 數組 正則 Math Date的實例...
函數數據類型: 函數 、類瀏覽器
console.log(isNaN(NaN));//true console.log(isNaN("aaa"));//true console.log(isNaN("1px"));//true console.log(isNaN(1));//false console.log(isNaN("1"));//false console.log(Number("22.22")) //22.22 console.log(Number(null));//0 ******* console.log(Number([]));//0 console.log(Number(""));//0 console.log(Number(true));//1 console.log(Number(false));//0 console.log(Number("1px"));//NaN console.log(Number({})); //NaN console.log(Number(undefined));//NaN
isNaN() 先轉number類型,是有效數字--false
1.對象==對象,比較的空間地址;
2.對象==字符串,對象默認調用toString方法,先轉換成字符串,再比較
3.對象==布爾, 對象先轉換字符串,再轉換數字;布爾直接轉換數字;
4.對象==數字; 對象先調用toString方法轉成成字符串,而後再轉number
5.布爾==數字: 布爾轉數字
6.字符串==數字:字符串轉數字
7.布爾==字符串:布爾轉數字,字符串轉數字,而後比較
8.null == undefined: true //null==null undefined==undefined 都是true
9.unll.undefined 和其餘數據類型比較都是false;函數