一、誕生時間 1995年 二、JavaScript包含內容 ECMAScript:基本語法及相關對象es(包括我們瞭解的es3,es5,es6.es7...) DOM:文檔對象模型,用來操作HTML BOM:瀏覽器對象模型,用來操作瀏覽器 三、書寫方式 1、書寫在script標簽里(比較常用) 2、 ...
一、誕生時間
1995年
二、JavaScript包含內容
ECMAScript:基本語法及相關對象es(包括我們瞭解的es3,es5,es6.es7...)
DOM:文檔對象模型,用來操作HTML
BOM:瀏覽器對象模型,用來操作瀏覽器
三、書寫方式
1、書寫在script標簽里(比較常用)
2、js文件里
3、對應時間屬性裡面(比較少用,針對少代碼單一模塊)
四、變數定義(使用var關鍵詞聲明,區分大小寫)
1、見名知意
2、只能是對應的字母或數字或下劃線等字元(註:不能用數字開頭)
3、一般採用駝峰命名法(第一個單詞首字母小寫,其他單詞首字母大寫)
4、不能用關鍵字(占用之前的關鍵詞的引用空間)
5、普通變數首字母小寫,常量全大寫(const)
註:函數-->fn
正則-->re
五、數據類型(檢驗值的類型)
1、number(所有數值)
2、string(單引號,雙引號均表示字元串)
3、boolean(true or false)
4、null(是null的情況下)
5、undefined
註:number型在控制台的顏色為藍色,字元串顏色為黑色,null和undefined為灰色
typeof可以查看對應類型(null顯示的是object,而undefined是null的對象擴展,屬於父子關係)
六、常見類型轉換
1、number
1)number-->string
number.toString------隱式轉換
2)number-->boolean
Boolean(number)-----非0為true,NaN和0為false
2、string
1)string-->number
Number(string)--------直接轉換成number,當數值無法解析,結果為NaN
parseInt()
parseFloat()--->從前到後解析,無數值變NaN
2)string-->boolean
Boolean(string)--------非空為true(空格或換行也占位置),空字元串為false
3、undefined,null
1)轉boolean
結果都是false
2)轉number
前者為NaN,後者為0
4、boolean轉number
false-->0
true-->1
七、運算符和表達式
1、算術運算符
+ - * / %
1) ' + '
--兩個number相加 正常運算(1+1結果2)
--一個string加一個number 拼接(‘123’+1結果1231)
註:true+1結果為2,boolean類型和null和undefined小於number,則自動轉成number
2)' - '
--一個string減一個number(‘123’-1結果為122)
註:true-1結果為0,undefined-1結果為NaN,null-1結果為-1,null為0
3)' * '
true * 3 結果為3
4)' % '
註:大數取餘小數,取餘結果得到的是餘數;小數取餘大數,結果得到的是小數。
2、++/--前置,後置
自增和自減的前置和後置的區別
前置先執行對應的++(--) 再執行對應的代碼
後置先執行對應的代碼 再執行++(--)
註:計算順序(先算括弧裡面的 ++或-- 再進行乘除取餘 再進行+- 再進行比較運算 再邏輯運費 再進行賦值)
3、邏輯運算
1、與&&
同為true才true
2、或||
有true就true
3、非!
做取反操作
4、比較
> , < , >= , <= , == , != , ===(全等,一個東西)
5、賦值
= , += , -= , /= ,*/ , %=
6、位運算(轉為二進位再進行位的變化運算)
左移<<
右移>>
~去小數
谷歌面試題:
怎樣快速從2得到8?
方案:
2轉換成二進位為 10
8轉換成二進位為 1000
則進行(2<<2)即左移2位,補0操作,既可實現快速轉換
7、三目運算符
表達式(判斷條件)?1:2
條件正確,則為1,反之,則為2
8、number擴展:保留小數方法
number.toFixed(2)即為number數值保留2位小數
八、進位的轉換
1、十進位二進位的相互轉換
十進位-->二進位 (除2取餘法)
二進位-->十進位 (對應位數乘2的多少次方相加)
2、十進位轉八進位 (除8取餘)
3、十進位轉16進位 (除16取餘)
註:1)將對應8進位,16進位字元串轉換為十進位數值:parseInt或parseFloat方法
2)將10進位數值轉換成對應8進位或16進位字元串:toString方法