WEB前端開發筆試題
一、單選題
1、以下哪個單詞不屬於javascript保留字: ( B )
A.with B.parent C.class D.void
2、下面對於JavaScript中的單選按鈕(radio)的說法正確的是: ( A )
A. 單選按鈕可以通過單擊“選中”和“未選中”來進行切換
B. 單選按鈕沒有checked屬性
C. 單選按鈕不支持onClick事件
D. 單選按鈕的length屬性表示同一組中單選按鈕的數量
3、下面哪個是display布局中用來設置對象以塊顯示,並添加新行的? ( C )
A、inline B、none C、block D、compact
4、在jquery中想要找到所有元素的同輩元素,下面哪一個是可以實現的? ( C )
A、eq(index) B、find(expr) C、siblings([expr]) D、next()
5、使用jquery檢查<input type="hidden" id="id" name="id" />元素在網頁上是否存在。(B )
A:if($("#id")) { //do someing... }
B: if($("#id").length > 0) { //do someing... }
C: if($("#id").length() > 0) { //do someing... }
D: if($("#id").size > 0) { //do someing... }
6、在jquey中,如果想要從DOM中刪除所有匹配的元素,下面哪一個是正確的 (C )
A:delete() B:empty()
C:remove() D:removeAll()
7、在以下代碼段中,哪些變量是全局變量? (D )
<script type="text/javascript">
var a = 1;
function foo() {
if (a == 1) {
var b = 2;
if (b == 2) {
c = 3;
}
}
}
foo();
</script>
(A) 只有a (B) a和c (C) b和c (D) a、b、c都是
8、執行下面的代碼打印出的結果,正確的是: (A )
<script type="text/javascript">
alert(true + 1);
alert("3" + 0);
alert(5 + "12");
alert(undefined + 11);
</script>
(A) 2,30,512,NaN
(B) NaN,30,17,undefined
(C) 1,3,17,NaN
(D) NaN,30,512,11
9、執行下面的代碼打印出的結果,正確的是: ( C )
<script type="text/javascript">
var a = 1;
function foo() {
var a = 2;
var b = 3;
alert(b);
c = 4;
}
alert(a);
foo();
alert(c);
</script>
(A) 2,3,4 (B) 1,3,出錯 (C) 1,3,4 (D) 2,3,出錯
10、有一個HTML文件,其源碼如下,該文件被瀏覽器加載時,依次打印出來的信息正確的是: ( C )
<script type="text/javascript">
var show = function () {
alert('show_function');
}
alert('script');
</script>
<html>
<head>js Test</head>
<body onload="alert('onload')">
<script type="text/javascript">
alert('in_body');
</script>
</body>
</html>
<script type="text/javascript">
show();
</script>
(A) show_function,script,onload,in_body
(B) script,onload,in_body,show_function
(C) script,in_body,show_function,onload
(D) script,in_body,onload,show_function
二、填空題
1、在jquery中,想讓一個元素隱藏,用_$().hide()_實現,顯示隱藏的元素用_$().show()_實現。
2、看以下程序代碼,寫出輸出結果
var length = 10
function fn() {
console.log(this.length)
}
var obj = {
length: 5,
method: function (fn) {
fn()
arguments[0]()
}
}
obj.method(fn)
輸出結果:10 1
3、以下程序,請填寫輸出結果:
var a = 1
function func() {
a = b = 2
}
func()
a=__2____,b=___2___
4、以下程序,請填寫輸出結果:
var uname = 'jack'
function change() {
alert(uname) // ?
var uname = 'lily'
alert(uname)
}
change()
輸出結果:__undefind__lily______
5、以下程序,請填寫輸出結果:
function change() {
alert(typeof fn) // ?
function fn() {
alert('hello')
}
var fn
}
change()
輸出結果:___function___
三、問答題
1.行內元素有哪些?塊級元素有哪些?空元素有哪些?
行內元素:Span p button a img
塊級元素:Div ul li
空元素:br img input
2.簡述一下CSS的盒子模型,CSS選擇符有哪些?哪些屬性可以繼承?優先級算法如何計算?內聯和important哪個優先級高?
選擇符:類型選擇符(body)、標簽選擇符(h2 span)、ID選擇符(#id)、Class選擇符(.content)
優先級就近原則,同權重情況下樣式定義最近者為准
important優先級高
3. 請描述一下 cookies、sessionStorage 和 localStorage 的區別?
4. 簡述一下對HTML語義化的理解?
使用語義化標簽標簽,利於機器識別,利於SEO,開發人員也很容易明白
5. 怎樣使用DOM操作添加、移除、移動、復制、創建和查找節點
添加 appendChild()
移除 removeChild()
復制 cloneNode()
創建createElement()
查找 getElementById()
6.寫出幾種javascript創建對象的方式?
7. setTimeOut和setInterVal有什么區別?請寫出setTimeOut和setInterVal的用法以及各自取消執行的方法
setInterval 方法表示每間隔一段時間執行一次函數,會一直執行下去,除非手動 clearInterval 來停止
setTimeout 表示在延遲多長時間后執行函數,只會執行一次
8. 談一談你對ECMAScript6的了解,怎樣用ECMAScript6語法寫一個類
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
}
9.閉包是什么,有什么特性,對頁面有什么影響
閉包是在一個函數內部再寫另一個函數,特性是可以獲取其他函數內部的變量,影響是會引起內存泄漏
10.編寫一個數組去重的方法
function unique(arr){
for(var i=0; i<arr.length; i++){
for(var j=i+1; j<arr.length; j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--;
}
}
}
return arr;
}