JavaScript:知識點回顧篇(一):數據類型,變數,類型轉換,函數 ...
JavaScript -- 知識點回顧篇(一):數據類型,變數,類型轉換,函數
1. 數據類型
Boolean:值類型,布爾(邏輯)只能有兩個值:true 或 false。
Number:值類型,JavaScript 只有一種數字類型。數字可以帶小數點,也可以不帶
string:值類型,字元串可以是引號中的任意文本。您可以使用單引號或雙引號
Undefined:只有一個值undefined
Null:只有一個值Null
Object:對象由花括弧分隔。在括弧內部,對象的屬性以名稱和值對的形式 (name : value) 來定義。屬性由逗號分隔。
2. 聲明變數
(1)聲明變數一般用 var 來聲明(弱類型語言)。聲明變數不寫 var 關鍵字,表示該變數是一個整個頁面都能訪問的變數。
(2)變數聲明未賦值 -> undefined。
<script type="text/javascript"> var i; alert(i); //undefined </script>
(3)變數未聲明 -> 報錯。
<script type="text/javascript"> alert(i); </script>
(4)重覆聲明變數,忽略第二次聲明,第二次的聲明無效。
<script type="text/javascript"> var i=10; var i; alert(i); //10 </script>
3. 變數作用域
在 js中不存在塊級作用域範圍。
在方法內聲明的變數,在整個方法內可用;在方法外部聲明的變數,整個頁面可用。
4. 數據類型轉換
(1)將字元串轉換成數字類型:從第一個字元開始轉,直到不能轉換時返回。
<script type="text/javascript"> var s='123adsja' s=parseInt(s); alert(s); </script>
(2)將數字當作 n 進位轉換 (例:15作為8進位轉換)
<script type="text/javascript"> var s=15 s=parseInt(s,8); alert(s); </script>
(3)字元串轉換成整數,轉換成小數。直到不能轉換時返回。
<script type="text/javascript"> var s='32.666' s=parseInt(s); alert(s); </script>
<script type="text/javascript"> var s='32.6.4.2' s=parseFloat(s); alert(s); </script>
(4)把任意類型轉換成數字類型
Number(false) -> 0
Number(true) -> 1
Number(undefined) -> NaN
Number('1.2') -> 1.2
Number('1.2.3') -> NaN
(5)把任意類型轉換成Boolean -> 非空即為True
(6)把任意類型轉換成string
<script type="text/javascript"> var s=123 alert(s.toString()); </script>
5. 判斷一個值是否是一個 NaN ,不能用==,要用 isNaN
6. 邏輯運算符
|| :一個為真,不會再判斷另一個
&&:兩個都要判斷
7. js 中沒有函數重載,遇到同名函數,會用最後一次的函數定義覆蓋前面的函數定義。
8. 在 js 中定義函數,無返回值類型,無參數類型。
<script type="text/javascript"> function getSum(a,b){ return a+b; } alert(getSum(10,20)); </script>
9. 函數
(1)可變參數:實際調用時,所有的參數都包含在arguments對象中
<script type="text/javascript"> function add(){ var sum=0; for(var i=0;i<arguments.length;i++) { sum+=arguments[i]; } return sum; } alert(add(10,30,20,20,20)); //100 </script>
(2)在 js 中聲明匿名函數
<script type="text/javascript"> var f = function (){ alert('Hello'); } f(); </script>
(3)函數的預解析:在一個<script></script>標簽內,會把所有的函數先預解析,js 代碼再從上到下執行。
10. js腳本執行
當<script></script>塊中的代碼執行出錯後,該塊中的代碼不會繼續執行,但不會影響其他<script></script>塊中的代碼執行。