web前端筆試篇(一)


【 題外話 】:本博主作為一名准畢業生,即將面臨畢業就業問題,即將到大四了,不准備考研的我,那么該去干嘛呢?毫無疑問,那就是實習,那么即使是實習,那么在要想進入自己心儀的企業之前,筆試這一關終究是無法避免的!特此,刷刷題也是有必要的哈!

 

【 第一題 】

 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

 

如有錯誤之處,歡迎大家評論指出哈!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM