1. 程式人生 > 其它 >【JavaScript之軌跡】第一章:變數總結

【JavaScript之軌跡】第一章:變數總結

技術標籤: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()
規則: ’ ’0NaNnullundefined 都轉為fasle

表示為 ‘空’ ‘無’ 的都為false,其餘為true

融進晨光,黑夜與白夜的距離