又是一個星期過去了
最近準備婚事真的忙翻啦~
所以上週忘了更新文章了QQ
沒關係 再來繼續加油努力:)
請觀看此文章後,解答以下題目。
第一題
請依序告知以下 console.log 會顯示什麼值。
var a = 1;
console.log(typeof(a));
var b = "hello";
console.log(typeof(b));
var c = 1 + "hello";
console.log(typeof(c));
var d = 1 + "11";
console.log(d);
console.log(typeof(d));
答案
第一個 console.log 顯示為 number
第二個 console.log 顯示為 string
第三個 console.log 顯示為 string
第四個 console.log 顯示為 111 (字串)
第五個 console.log 顯示為 string
第三個為數字與字串相加,後面因為是字串,所以會把前面數字轉換成為字串做處理。
第四個原因同第三個,字串加字串顯示會是合併顯示,而不是相加,數字加數字才會顯示 12。
第五個原因同第四個,因為轉成字串處理了,所以型態是字串。
第二題
var a;
a = a + "hello";
console.log(a);
console.log(typeof(a));
var b = 3;
console.log(b * "hello");
答案
第一個 console.log 顯示為 undefinedhello。
第二個 console.log 顯示為 string。
第三個 console.log 顯示為 NaN。
第一個 宣告了變數 a,但是 a 未賦予任何值,所以 a 值會是 undefined,然後字串 undefined 與 hello 合併,就會顯示 undefinedhello。
第三個 宣告了變數 b 賦予值為數字 3,但是 hello 是字串,數字無法與字串相乘,所以顯示 NaN。
第三題
var a = 9;
console.log(a + 9);
console.log(a + '9');
var b = "9";
console.log(b * b);
console.log(typeof(b * b));
答案
第一個 console.log 顯示為 18 (數字)。
第二個 console.log 顯示為 99 (字串)。
第三個 console.log 顯示為 81 (數字)。
第四個 console.log 顯示為 number。
第一個 console.log 宣告了變數 a 並賦予值為數字 9,9 + 9 = 18。
第二個 console.log 數字 9 加字串 9,原因跟第一題一樣,會把前面數字轉為字串做處理,所以會合併處理顯示 99。
第三個 console.log 宣告了變數 b 並與與值為字串 9,當遇到運算值符號會(+-*/)會讓字串轉為字元做運算(前提是字串內容是數字),所以 9 * 9 = 81。
第四個 console.log 因第三個的關係,所以型態是 number。