【JavaScript之軌跡】第一章:變數總結
阿新 • • 發佈:2021-02-06
技術標籤:JavaScript之軌跡筆記javascript
——目錄——
◉ 資料型別分類
資料型別可分為一下五種:
- Number 數字型:整型與浮點型都歸為數字型
- String 字串型:使用單引號或雙引號括起來的都屬於字串型別
- Boolean 布林型別:有 true 和 false 兩個值
- Null 空值:表示為空的物件
- Undefined 未定義值:表示未賦值的變數
◉ 宣告、賦值與輸出
- 宣告但不賦值:值為undefined
- 不宣告直接賦值:可以使用(變成全域性變數)
- 不宣告直接輸出:報錯
如:
<script>
var a;
b = 10;
console.log(a + ' ' + b);
console.log(c);
</script>
◉ 資料型別注意點
① JavaScript 為動態弱型別語言
- 資料的型別是程式在執行中由等號右邊的值決定的。
- 所以在程式中一個變數的資料型別可以不斷變化
如:
<script>
var num = 10;
console.log("num is " + typeof(num));
num = 'h';
console.log("num is " + typeof(num));
</script>
輸出結果:
num is number
num is string
注:typeof(變數); 用於判斷變數的資料型別
② 特殊變數名
注意:name有特殊含義,一般不作為變數名使用,不宣告直接輸出name不會報錯,如:
console.log(name);
沒有報錯,輸出內容為一片空白
③ 布林值參與四則運算
四則運算中 true 的值為1,false 的值為0
④ 字串的拼接
字串與任何型別進行 + 運算,均為拼接字串
⑤ 錯誤截斷
Java為解釋型語言,在執行時為讀取一句解釋一句
所以當讀取到一句錯誤語句時,往後的程式碼將不再執行
◉ 引號的巢狀使用
字串變數既可以用單引號也可以用雙引號
當需要在字串中出現引號作為巢狀時
兩種引號應交替出現,如:
<script>
console.log("我叫'IceClean'");
console.log('我叫"IceClean"');
</script>
輸出結果:
我叫'IceClean'
我叫"IceClean"
沒有交替使用將出現配對錯誤!
◉ 三個特殊值的出現及判斷
JavaScript 的三個特殊值分別為:Infinity ,-Infinity ,NaN
以及兩個最值:MAX_VALUE 和 MIN_VALUE
各個情況的例子:
<script>
console.log("最大值:" + Number.MAX_VALUE);
console.log("最小值:" + Number.MIN_VALUE);
console.log("正無窮:" + Number.MAX_VALUE * 2);
console.log("負無窮:" + (-Number.MAX_VALUE) * 2);
console.log("非數:" + ( "Ice" - 2 ));
console.log("是非數嗎?:" + isNaN( "Ice" - 2 ));
console.log("是非數嗎?:" + isNaN( - 2 ));
</script>
輸出結果:
最大值:1.7976931348623157e+308
最小值:5e-324
正無窮:Infinity
負無窮:-Infinity
非數:NaN
是非數嗎?:true
是非數嗎?:false
總結:
- 最大值的倍數為正無窮,正無窮添負號為負無窮
- 非數值字串與數字相減得到非數(數值字串特殊)
- isNaN() 用於判斷是否為非數,是則返回true,否則返回false
其餘情況:非0除以0得無窮,0除以0得非數…
◉ 資料型別轉換
引入: 在 prompt(); 中得到的都是字串型別,很多情況下需要將其轉化成數字型
① 將字串型轉化為數字型
– 方法一:
使用 parseInt 和 parseFloat
<script>
var a = "12";
var a1 = parseInt(a);
console.log("a1 is " + typeof(a1) + " : " + a1);
var b = "12.34";
var b1 = parseInt(b);
console.log("b1 is " + typeof(b1) + " : " + b1);
var c = "12.34";
var c1 = parseFloat(c);
console.log("c1 is " + typeof(c1) + " : " + c1);
console.log(parseInt("12px"));
</script>
輸出結果:
a1 is number : 12
b1 is number : 12
c1 is number : 12.34
12
總結:
- 整型和浮點型分別用 parseInt 和 parseFloat
- 如果浮點型使用了 parsrInt ,小數部分將直接被砍掉
- 兩個函式都可以自動去掉位於數字後面的非數字(實際上是當函式讀取到了非數值後便停止,只輸出前邊的數字部分,因而不能將非數字放在開頭,會報錯),這可以實現去掉帶單位的數值
– 方法二
使用算數運算子 - * /
注意:不能用 + ,會變成字串的拼接
<script>
var a = "12";
var a1 = a - 2;
console.log("a1 is " + typeof(a1) + " : " + a1);
var b = "12.34";
var b1 = b * 1;
console.log("b1 is " + typeof(b1) + " : " + b1);
var c = "12.34";
var c1 = c / 1;
console.log("c1 is " + typeof(c1) + " : " + c1);
</script>
輸出結果:
a1 is number : 12
b1 is number : 12.34
c1 is number : 12.34
總結:
- 對字串進行 - 運算可以得到數字型(兩個數值型字串相減也可以的)
- 直接拿字串 *1 或 /1 都可以直接得到數字型,而且整型和浮點型通用
– 方法三
使用函式 Number(變數); 方法也可~
② 將其他型別轉化為字串型
- 使用同函式 toString(變數);
- 加號拼接(最常用)
- 使用強制轉化 String(變數)
注意:這裡 JavaScript 的強制轉化與其他語言不同,String沒有括號,反而變數有括號,注意區分!
③ 將其他型別轉化為布林型
有且只有一個方法:使用函式 Boolean()
規則: ’ ’ ,0,NaN,null,undefined 都轉為fasle
表示為 ‘空’ ‘無’ 的都為false,其餘為true
融進晨光,黑夜與白夜的距離