2017盛大遊戲2017前端工程師校招筆試題總結

2021-08-07 16:50:56 字數 2963 閱讀 1216

1.js的陣列方法中,哪些方法不改變陣列自身?

改變陣列自身:pop、push、shift、unshift、reverse、splice、sort

不改變陣列,返回相應值:join、slice、concat、map、filter、some、every、reduce、reduceright

不改變陣列自身,不返回值:foreach

2.html5內建獨享用於在畫布上繪製的方法:

getcontext()返回乙個用於在畫布上繪圖的環境

3.以下**的執行結果是:

for(var i=0;i<5;i++),100)

}

輸出結果:5 5 5 5 5

以我的理解,settimeout是非同步執行的。也就是說在五次迴圈之後才會執行settimeout中的函式,而此時會取到全域性變數i。

這裡可以對比es6語法中的let命令:

for(let i=0;i<5;i++),100)

}

輸出結果:0 1 2 3 4

4.jsonp的優缺點

優點: 缺點

5.下列哪個不是regexp物件的方法?

a. test

b. match

c. exec

d. compile

答案:b d

match是string物件的方法。compile已在web標準中廢除,雖然一些瀏覽器仍然支援這個方法。

string有四個方法可以使用正則:match、replace、split、search。在es6中將這幾個方法定義為regexp物件的方法,呼叫方法如下:

string.prototype

.match => regexp.prototype[symbol.match]

6.以下**執行後,arr的值是:

var arr = [,{}];

arr.foreach(function

(item,idx))

結果:[,]

這道題挺陰險的,乍一看foreach不影響原陣列,arr應該沒有任何改變。仔細想想菜發現arr的這兩個元素是物件,因此這裡item是對arr成員的淺拷貝,引數傳遞的是位址,原陣列改變。要實現深拷貝可以用到es6語法的展開運算子。

7.哪乙個不是瀏覽器天生的inline-block標籤(擁有內在尺寸,可設定高寬,不會自動換行)?

a.

b.

c.

d.

答案:c

瀏覽器預設的常見inline標籤:label、a、img、span、em、strong、i、sub、sup等。

瀏覽器預設的常見inline-block標籤:input、button、select、textarea等。

img雖然是行內元素,但它確實是可以設定寬高的。(它們就是俗稱的置換元素)

8.關於以下**正確的結論:

var f = function

(){};

object.prototype.a = function

(){};

function.prototype.b = function

(){};

var f = new f();

a. f能取到a,不能取到b

b. f能取到a,b

c. f能取到b,不能取到a

d. f不能取到a,b

答案:a

本題中f是建構函式建立的特殊型別的物件(即f),因此f肯定能夠取到a。f的原型鏈上沒有function,因此不能取到b。

但f是function 的乙個例項,f的原型物件的建構函式即為f。因此通過f.constructor.b是可以取到b的。

9.下面哪乙個字串不匹配正則/^a|bc$/:

a. bcd

b. abc

c. dbc

d. adc

答案:a

這道題的粗淺的理解是:|分割的是^a和cd$,因此匹配的是以a開頭或以bc結尾的字串。

10.編寫乙個函式實現form的序列化

//處理沒有type

paras.push(encodeuricomponent(item.name)+'='+encodeuricomponent(item.value));}}

})return paras.join('&');

}

2017阿里前端筆試

1 let obj object.create function foo obj console.log obj foo obj true let obj 1,2,3 function foo val console.log obj foo obj false let obj 1 function ...

2017前端學習目標

目標 1月份 多了解一些雜七雜八的東西,到處看看 爭取多寫幾篇,多提交幾次github es6看到第9章 2月份將es6全部看完,敲進github 3月份開始看react.js,爭取乙個月全部看完,並且邊看邊敲demo。4月份 6月份 補一些之前欠缺的 將本來就了解一些的sass敲進 補各種js原生...

2017前端發展趨勢

每到年底,人們總喜歡展望下一年,web 開發領域也不例外。在 web 開發領域,技術革新的速度堪比光速,未來總是超乎我們的想象,我們只能盡自己所能做一些合理的 以下是我們需要關注的一些趨勢 1.更加移動優先 響應式設計顯然是目前 web 開發領域的主要趨勢之一,並且這一趨勢還將持續一段時間。雖然現在...