【 題外話 】:本博主作為一名準畢業生,即將面臨畢業就業問題,即將到大四了,不准備考研的我,那麼該去幹嘛呢?毫無疑問,那就是實習,那麼即使是實習,那麼在要想進入自己心儀的企業之前,筆試這一關終究是無法避免的!特此,刷刷題也是有必要的哈! 【 第一題 】 答案:彈出 number 解析: parseI ...
【 題外話 】:本博主作為一名準畢業生,即將面臨畢業就業問題,即將到大四了,不准備考研的我,那麼該去幹嘛呢?毫無疑問,那就是實習,那麼即使是實習,那麼在要想進入自己心儀的企業之前,筆試這一關終究是無法避免的!特此,刷刷題也是有必要的哈!
【 第一題 】
1 var str = 'abc123'; 2 var num = parseInt(str); 3 if (num == NaN) { 4 alert(NaN); 5 }else if (num == 123) { 6 alert(123); 7 }else if (typeof num == 'number') { 8 alert('number'); 9 }else { 10 alert('str'); 11 }
答案:彈出 number
解析:
parseInt():作用:解析一個字元串,參數:string [, radix],返回:解析後的數字,原有數組是否改變:否;該解析字元串為:'abc123',解析時從第一個字元開始解析,遇到非 Number 終止執行,故 num 的結果為:NaN,NaN 屬於 number 類型,但不是一個有效的數字,並且NaN 和誰都不相等,包括自己,故彈出 number
【 第二題 】
1 var a = 'abc' + 123 + 456; 2 console.log(a); 3 4 var a = '456' - '123'; 5 console.log(a); 6 7 var a = 1; 8 var b = '2'; 9 var c = a > b ? (a < b ? a : b) : (a == b ? a : b); 10 console.log(c); 11 12 var a = 5 & 3; 13 console.log(a);
答案:abc123456 333 2 1
解析:
(1)+ :連字元
(2)除了 + 運算符,有連字元的特殊意義,其它均為運算符,瀏覽器會進行數據類型轉換,對參與計算的自動轉換成 number 類型
(3)b = 2;三元運算符,1 > 2 為假,取 :後面的值,故c = (a == b ? a : b) ,1 == 2 為假,故 c = b = 2
(4) &:位運算符,同 1 得 1,有 0 得 0;5:101 3:011 相與 => 001 => 1
【 第三題 】
1 for (var i = 0; i < 10; i++) { 2 alert(i); 3 break; 4 } 5 alert(i); 6 for (var i = 0; i < 10; i++) { 7 continue; 8 alert(i); 9 } 10 alert(i);
答案:依次彈出三次,分別為:0 0 10
解析:
break:終止迴圈,故 i = 0 執行後便終止了,i++ 便沒有執行,繼續往下執行,此時 i 的值為:0,故再次彈出 0;
continue:跳出本次迴圈,所以不會執行 for 中的 alert(i),但會執行 i++ 直到 i = 10 結束迴圈,此時 i = 10,彈出 10.
【 第四題 】
1 function fun(a, b, c) { 2 var l = arguments.length; 3 var num = 0; 4 for (var i = 0; i < l; i++) { 5 num += arguments[i]; 6 } 7 alert(num) 8 } 9 fun(1,2,3); 10 fun(1,2,3,4);
答案:6 10
解析:
arguments 是一個對象,不是一個 Array,但類似 Array,除了 length 屬性和索引元素之外沒有任何 Array 屬性,可以使用 arguments 對象在函數中引用函數的參數,所以即就是相當於函數的參數可作為屬性存儲在 arguments 中,以數組索引的方式調取引用,此處即為實現三個/四個數求和.【 可實現任意數求和 】
【 第五題 】
1 var a = 0; 2 function fun() { 3 alert(a); 4 var a = 10; 5 } 6 fun(); 7 alert(a);
答案:undefined 0
解析:
變數提升:a,形成一個私有作用域,存儲一堆字元串:alert(a);var a = 10;
形參賦值,代碼自上而下執行:全局變數 a = 0;fun();函數執行,其私有作用域中,同理變數提升,故 a 為 undefined;賦值:私有變數:a = 10;
彈出全局變數 a 的值:0
給自己點小自律:每天五道題,三個小demo,一需求,瞭解、鞏固、熟悉、學習新知識;fighting
如有錯誤之處,歡迎大家評論指出哈!