上海漢得公司2018年秋招前端筆試題


一、選擇題(含多選)

1.以下哪一項不屬於瀏覽器Response Headers字段(B)

A.Contection   B.Referer   C.Content-Type   D.Server

2.在javascript中,以下返回true的選項是(ABCD)

A.typeof({})==='object'   B.typeof('1234'-0)==='number'   C.typeof(null)==='object'   D.typeof(undefined)==='undefined'

3.下面哪一個不是Javascript的保留字(E)

A.goto   B.abstract   C.implements   D.super   E.array

4.下列代碼:

console.log((function(a) {} ).length);

console.log((function(a=5) {} ).length);

console.log((function(a,b=5,c) {} ).length);

console.log((function(a,b=5,c=5) {} ).length);

輸出分別為(D)

A.0  1  1  2   B.1  0  2  1   C.0  1  1  0   D.1  0  1  1

5.<div style="color:red !important; text-color:blue">

     <span style="color:green;text-color:black !important;">Hello

     </span>

</div>

頁面中"hello"的顏色是(C)

A.red   B.blue   C.green   D.black

6.String str = new String("xyz");"xyz"在內存中是怎么分配的(B D)

A.寄存器   B.堆   C.棧   D.字符串常量區

//老陳醋

7.現有<div id="myId"></div>想通過XMLHTTPRequest 更新這個元素中的內容,下面哪種做法正確(C)

A.var myId=document.getElementById("myId");myId.innerHTML=req.statusCode;

B.var myId=document.getElementById("myId");myId.setStatus (req.statusCode);

C.var myId=document.getElementById("myId");myId.innerHTML=req.status;

D.var myId=document.getElementById("myId");myId.status=req.status;

8.以下有關Javascript中call和apply的描述,錯誤的是(D)

A.apply傳入的是一個參數數組,也就是將多個參數組合成為一個數組傳入。

B.call傳入的是直接的參數列表。call方法可將一個函數的對象上下文從初始的上下文改變為由thisObj指定的新對象。

C.call與apply都屬於Function.prototype的一個方法,所以每個function的實例都有call、apply屬性。

D.兩者傳遞的參數不同,call函數第一個參數都是要傳入給當前對象的對象,apply不是。

9.關於跨域問題下面說法正確的是(A)

A.通過iframe設置document.domain可以實現跨域

B.可以利用flash的http請求,來處理跨域問題

C.通過jsonp方式可以發出post請求,請求其他域名下的接口

D.一般情況下,m.toutiao.com可以ajax請求www.toutiao.com域名下的接口並獲得響應

10.下面有關CSS中link和@import的區別,描述錯誤的是()

A.link在支持CSS瀏覽器上都支持,而@import只在5.0以上的版本有效

B.當使用javascript控制DOM去改變樣式的時候,只能使用@import方式

C.當一個頁面被加載的時候,link引用的CSS會同時被加載,而@import引用的CSS會等到頁面全部被下載完再被加載

D.link屬於XHTML標簽,而@import完全是CSS提供的一種方式

11.Javascript中,以下哪條語句一定會產生運行錯誤(C)

A.var _變量=NaN;   B.var obj = [];   C.var obj = //;   D.var obj = {};

12.以下兩個變量a和b,a+b的哪個結果是NaN()

A.var a = undefined,b=NaN

B.var a = '123',b=NaN

C.var a = undefined,b=NaN

D.var a = NaN,b='undefined'

13.var a = 10;b = 20;c =4; ++b+c+a++以下哪個結果是正確的(B)

A.34   B.35   C.36   D.37

14.以下哪個單詞不屬於javascript保留字(B)

A.with   B.parent   C.class   D.void

15.請選擇結果為真的表達式()

A.null   instanceof   Object   B.null === undefined   C.null == undefined   D.NaN == NaN

二、運行結果題

1.請寫出下列代碼的輸出結果:

var   a  = 0, b = 0;

function  add(a){

     add = function(b){

           alert(++a+b++);

    }

     alert(a++);

}

add(1);

add(2);

執行結果:1,5

add(1);

add(2);

add(3); 結果:1,5,7

2.請寫出name打印順序:

var a = {

     name:"Json",

     sayName:function(){

          console.log(this.name);

      }

};

var name  = "Aaron";

function sayName(){

      var  sss  = a.sayName;

      sss();

      a.sayName();

     (a.sayName)();

     (b=a.sayName)();

}

sayName();

4.下列正則表達式輸出結果是多少?

var  reg  =  /^[a-zA-Z_][a-zA-Z0-9_] {5,20}/,

       name1 = 'tanbayi',

       name2 = '0tanbayi',

       name3 = '你好 tanbayi',

       name4 = 'hi',

alert(reg.test(name1));

 alert(reg.test(name2));

alert(reg.test(name3));

alert(reg.test(name4));

三、簡答題

        1.js面向對象有幾種方式並用js寫出。

        2.請寫出你所知道的瀏覽器兼容問題,以及對應的解決辦法(可包含CSS和JS)

        3.編寫一段JS程序提取URL中的各個GET參數(參數名和參數個數不確定),將其按key-value形式返回一個json結構中,如{a:'1',b:'2',c:,d:'xxx',e:undefined}

        4.請列舉你所熟悉的性能優化方法。

 


免責聲明!

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



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