基本語法和表示式
JavaScript 行為層,實現互動效果,資料收發,表單驗證。 布萊登艾奇發明,類C語言。處理介面。ECMA規範了JavaScript的標準,即ECMAScript。
JavaScript :語言核心,BOM,DOM。
JavaScript的書寫位置:
- 在<body>中<script>標籤對中。
- 建立.js檔案,在<body>中<script src="~.js">標籤對中。
輸出語句:
- alert( ); 彈出警告框。輸出字串需加 ' '。
- console.log( ) 控制檯輸出。
報錯處理:
- invalid or unexpected token 無效或錯誤的符號
- ~ is not defined 沒有定義該變數,或是字串沒有加 ' ',拼寫錯誤。
REPL環境:read eval print loop. 控制檯是REPL環境。
變數:
- 命名規則:字母、數字、下劃線、$,不能以數字開頭 。大小寫敏感。建議駝峰命名法,例mathTest。
- 變數的預設值undefined
- 定義:var a; var a=0, b=3;
- 變數宣告提升:在執行所有程式碼前,JS有預解析階段,會預讀所有變數定義,即可以提前使用一個稍後宣告的變數,但只提升定義,不提升值。
-----------------------------------------------------------------------------------------------------------------------------------------------------
兩大資料型別:
- 基本資料:Number、String、Boolean、Undefined、Null
- 複雜資料型別
typeof運算子:檢測值或變數的型別。 typeof 123 -----> number
Number數字型別:
- 不分浮點、正反。
- 科學計數法: 3e8 即3*10的8次方
- 二進位制0b開頭 八進位制0開頭 十六進位制0x開頭
- NaN是一個數字型別的值,表示不是一個數字。不自等。例0/0 ------>NaN
String字串型別:
- 使用 + 實現字串拼接
- .length屬性表示字串長度
- charAt(0)方法得到指定位置的字元,排序從0開始。 'fhw'.charAt(0)---->f
- substring(a,b)方法得到從a開始到b處(不包含b處)的子串。 省略b即輸出從a處開始結束。可大數在前。
- substr(a,b),從a開始長度為b的字串。a可以是負數,即從倒數位置開始。
- slice(a,b)與substring()相似,但引數可以為負數,a不能比b大。
- toUpperCase()轉為大寫,toLowerCase()轉為小寫。
- indexOf('a')返回字元在字串中首次出現的位置,若無返回-1.
null型別:typeof null ----->object
資料型別準換:
- Number()轉換為數字,非純數字會轉為NaN。 Number(null)--->0 Number(true)---->1
- parseInt() 轉為整數,自動截短第一個非數字字府 包括. parseInt(true)---->NaN
- parseFloat()將字串轉為浮點數
- String() 轉為字串,非十進位制數將轉為十進位制的字串
- toString()方法,轉為字串。 數字呼叫需要加()。 (6).toString ------>" 6"
prompt()函式,彈出輸入框。
-------------------------------------------------------------------------------------------------------------------------------------------------------------
表示式和運算子:
- 算術運算子:+ - * / % 隱式轉換的本質是Number()函式。 3 % 9 = 3
- 賦值運算子:a++ 先用再加 ++a 先加再用
- 關係運算符: > < >= <== ==(會進行隱式轉換) ===(判斷值和型別) != (不相等) !==(不全等) undefined == null-----> true
- 邏輯運算子:! !!(可直接展示資料的布林值) && ||
- 短路計算:&&前真返後值,前假返前值。 || 前假返後值,前真返前值。 返回決定性的總結果。
- 運算優先順序:非 > 與 > 或
- 綜合運算順序: 非>數學>關係>邏輯
IEEE754算術標準會使一些小數運算丟失精度。可使用toFixed()方法保留小數位。
冪和開根號:Math.pow(2,3) 即2的3次方 ; Math.sqrt(81) ----->9
取整:Math.ceil() 向上取整 ; Math.floor()向下取整 Math.ceil(2.4)------>3
判斷值是否為NaN: isNaN()