一、單選題(共30題,每題2分)
1.閉包的好處說法不對的
A 快取變數
B 防止命名沖突
C 可能造成記憶體泄露
D 少記憶體使用率
正確答案: D
2.不屬于同源策略限制條件的
A 埠
B 協議
C 域名
D 網址
正確答案: D
3.ES5中不能實作繼承的關鍵字
A prototype
B call
C apply
D extends
正確答案: D
4.alert(username);var username="leson";結果為
A undefined
B leson
C null
D 報錯
正確答案: A
決議:變數提升,預決議
5.有代碼 var obj1={ a:[1], b:1 }; var obj2={ a:[2], c:2 }; var obj = Object.assign(obj1,obj2); 運行之后obj的結果為
A {a:[1],b:1}
B {a:[1,2],b:1,c:2}
C {a:[2],b:1,c:2}
D {a:[2],c:2}
正確答案: C
決議:Object.assign是ES6新添加的介面,主要的用途是用來合并多個JavaScript的物件,
var target = {a : 1}; //目標物件
var source1 = {b : 2}; //源物件1
var source2 = {c : 3}; //源物件2
var source3 = {c : 4}; //源物件3,和source2中的物件有同名屬性c
Object.assign(target,source1,source2,source3);
6.以下哪個關鍵字可以實作類的繼承
A inherit
B extends
C public
D interface
正確答案: B
決議:extends es6中的繼承
7.關于原型物件以下說法錯誤的是
A 每一個函式都有一個原型物件
B 每一個建構式都有一個原型物件
C 原型物件上的屬性和方法能被實體訪問
D 原型物件上的屬性和方法能被子類(代碼里)訪問
正確答案: D
決議:原型物件上的屬性和方法能被實體訪問
8.以下哪一個不是常見的設計模式
A 單例模式
B 代理模式
C 飛行模式
D 觀察者模式
正確答案: C
決議:飛行模式,手機里才有的模式!!
9.有代碼 function Foo(){ this.name="test1"; function bar(){ this.name="test2" }; bar(); } Foo.name = "test3"; var foo = new Foo(); 問foo.name的值為
A test1
B test2
C test3
D undefined
正確答案: A
決議:var foo = new Foo()
foo是是Foo的實體,所有foo.name 列印結果就是test1
10.jquery物件轉換成原生DOM物件的方法是
A index()
B get()
C eq()
D find()
正確答案: B
決議:$('div').get(0)獲取原生dom元素
11.關于jquery插件,描述錯誤的是
A 使用jquery插件可以提高開發效率
B jquery插件可以通過jquery物件呼叫
C jquery插件無法實作鏈式呼叫
D jquery插件一般都需要考慮引數設定問題
正確答案: C
決議:只要回傳值是jq中的物件,就可以鏈式呼叫
12.下面的this指向不是window的是那個
A 全域中的this
B 普通函式,直接呼叫的函式中獲取的this
C 按鈕偵聽的事件函式中的this
D 函式通過call呼叫時,第一個引數填入null,函式中的this
正確答案: C
決議:滑鼠事件中this指向被偵聽的物件
13.以下不是閉包特點的是
A 函式嵌套函式
B 函式內部可以參考外部的引數和變數
C 引數和變數不會被垃圾回識訓制回收
D 回傳的函式可以不用存盤在外部變數中
正確答案: D
決議:回傳的函式必須存盤在外部變數中
14.以下函式執行的結果是
function fun1(x) {
if(x>2){
return (fun1(x-1)+fun1(x-2));
}else{
return 1;
} }
console.log(fun1(10));
A 50
B 52
C 55
D 60
正確答案: C
決議:這是一個回呼函式的使用
15.以下程式最后計算的結果是 function fun1(){ var sum=1; return function(){ sum++; return sum; } } var fun2=fun1(); console.log(fun2()); console.log(fun2());
A 1,1
B 1,2
C 2,3
D 2,2
正確答案: C
決議:這是閉包的使用
16.函式使用return不能回傳以下哪一個
A 函式
B 物件
C 數值
D for回圈
正確答案: D
決議:函式只能回傳資料不能回傳回圈
17.下面說法錯誤的是
A 閉包是指有權訪問另一個函式作用域中的變數的函式
B 閉包的最常見的方式就是在一個函式內創建另一個函式
C 閉包可以被垃圾回識訓制所清理
D 函式內部可以參考外部的引數和變數
正確答案: C
決議:閉包不可以被垃圾回識訓制所清理
18.var name = 10; var obj = {} console.log(name + 10 + obj )
A 20[object Object]’
B ‘1010[object Object]’
C "1010"
D 20
正確答案: B
19.下面一段代碼,請問,輸出結果是 for (var i = 1; i < 3; i++) { setTimeout( function timer() { console.log(i); }, 1000 ); }
A 1 2
B 1 2 3
C 3 3
D 3 3 3
正確答案: C
20.面向物件,你需要經過哪幾步,說法錯誤的是
A OOA 面向物件分析
B OOD 面向物件設計
C OOC 面向物件獲取
D OOP 面向物件編程
正確答案: C
21.下列哪個方法不能改變函式內部this的指向
A bind
B change
C apply
D call
正確答案: B
決議:bind call apply均可改變this指向,注意使用的區別
22.jQuery哪個方法可以清空物件內所有的子元素
A remove()
B removeAll()
C deleteAll()
D empty()
正確答案: D
決議:remove()將自身及子元素移除
empty()清空所有子元素,包括文本節點
23.$(document).ready()和window.onload 有什么區別
A window.onload方法是在網頁中所有的元素完全加載到瀏覽器后才執行,$(document).ready() 可以在DOM載入就緒是就對其進行操縱
B 沒有區別
C $(document).ready()方法是在網頁中所有的元素完全加載到瀏覽器后才執行,$(document).ready() 可以在DOM載入就緒是就對其進行操縱
D 兩者作用不一樣
正確答案: A
決議:onload包含檔案和資源加載完畢
ready指檔案加載完畢
24.jq中發起添加類名的方法是
A ajax
B addClass
C getClass
D setClass
正確答案: B
決議:識記題
25.jq中實作影片的方法是
A $.animate
B $().animate
C animate
D $.startMove
正確答案: B
決議:animate()是jQuery實體方法,呼叫示例:$("div").animate()
26.jq中設定樣式的方式是
A $().style
B $().css
C $.css
D $.style
正確答案: B
決議:識記題 示例$("div").css("color","red");
27.一個php后綴的檔案,可以在什么環境下執行()
A mysql資料庫
B 瀏覽器
C Apache服務器
D Windows系統
正確答案: C
28.HTTP協議的默認埠號是多少?( )
A 8080
B 8888
C 80
D 3306
正確答案: C
29.下面函式運行的結果是 function fn6(fn) { return fn(3,5); } function fn7(a,b) { return a+b; } function fn8(a,b) { return a*b; } var s=fn6(fn7); var s1=fn6(fn8); console.log(s,s1);
A 3,5
B 5,3
C 8,15
D 15,8
正確答案: C
決議:這是一個回呼函式的使用
30.以下運行的結果是false的是 function Box(){this.name='zhang';} function Desk(){this.age=100;} function Table(){this.lever=1000} Desk.prototype=new Box();//通過原型鏈繼承 var desk=new Desk(); var table=new Table();
A alert(table instanceof Object)
B alert(desk instanceof Box);
C alert(Desk instanceof Box);
D alert(desk instanceof Desk );
正確答案: C
決議:
A. 一切事物皆物件
B. Dest 繼承了 Box, 所以正確
C. Desk 是 Function的實體,和Box無關
D. desk 是 Desk 的實體
二、多選題(不定項選擇)(共20題,每題2分)
1.以下哪條陳述句會產生運行錯誤
A var obj =()
B var obj=[]
C var obj ={}
D var obj ={[]}
正確答案: A,D
2.以下哪個設計模式是我們常見的設計模式
A 爆破模式
B 單例模式
C 組合模式
D 觀察者模式
正確答案: B,C,D
3.關于call,apply,bind方法,下列說法正確的是
A 三者都可以用于繼承
B 三者都可以改變this指向
C 三者引數傳遞一樣
D 三者呼叫方式一樣
正確答案: A,B
決議:三者都可以改變this,所有都可以是 實作繼承(建構式繼承的原理是改變函式的this)
4.jquery中移除jquery物件的方法有
A remove
B detach
C empty
D clear
正確答案: A,B,C
決議:前三個都可以,clear不行
5.以下關于jquery的說法正確的是
A jquery可以和原生js結合一起使用
B jquery物件和原生DOM物件不能相互轉換
C jquery物件可以使用原生js的方法
D 原生DOM物件不能使用jquery物件方法
正確答案: A,D
決議:jquery物件不可以使用原生js的方法
6.以下哪些是設計模式
A 單例模式
B 觀察者模式
C 工廠模式
D 原型模式
正確答案: A,B,C,D
7.以下說法錯誤的是
A 物件一般存盤在堆疊中
B 物件是類的實體化
C 類是物件的實體化
D 類不可以繼承
正確答案: A,C,D
8.下面說法錯誤的是
A 遞回就是函式運行別的函式
B 回呼就是函式運行自己
C 偵聽函式就是遞回
D 如果遞回次數過多會出現堆疊上限溢位
正確答案: A,B,C
9.物件設定屬性和屬性值的方法正確的是
A obj.name=3
B obj[“name”]=3
C obj{name} = 3
D Obj->name=3;
正確答案: A,B
10.下列哪種屬于設計模式
A 單例模式
B 觀察者模式
C mvc
D mvvm
正確答案: A,B
11.獲取<div id="content">內容</div>標簽里的文本內容
A $("#content").val();
B $("#content").html()
C $("#content").text()
D $("#content").innerHTML()
正確答案: B,C
決議:val()獲取表單元素value值的
html()獲取元素內容的,包含html結構
text()獲取元素文本內容的
innerHTML是原生DOM物件的屬性,無此方法
12.關于prototype原型和原型鏈說法正確的是
A Javascript的繼承機制基于原型,而不是Class類
B 凡是通過 new Function() 創建的物件都是函式物件,其他的都是普通物件
C 普通物件沒有prototype,但有__proto__屬性
D prototype屬性(物件)會默認獲得一個constructor(建構式)屬性,這個屬性是一個指向prototype屬性所在函式的指標
正確答案: A,B,C,D
決議:概念題 ABCD均對
13.下面哪個可以改變this
A call
B bind
C apply
D test
正確答案: A,B,C
決議:call apply bind 均能改變this指向,注意用法不同
14.下面是設計模式的是
A 單例模式
B 觀察者模式
C 測驗模式
D 視圖模式
正確答案: A,B
決議:單例模式和觀察者模式,是常見的設計模式
15.前后端開發程序中,解決跨域的方法有那些,( )
A 后端代理
B jsonp
C xhr2
D ajax
正確答案: A,B,C
16.下面哪些是mysql的常用資料型別( )
A varchar
B int
C float
D text
正確答案: A,B,C,D
17.Jq中關于dom 增刪改的操作有
A append
B appendTo
C remove
D detach
正確答案: A,B,C,D
決議:幾個都是dom操作的方法
18.Ajax的請求方式有哪些,( )
A post
B get
C method
D putx
正確答案: A,B
決議:1
19.引起跨域的情況有哪些.( )
A 域名不同
B 埠不同
C 同一域名,不同協議,
D 同一域名,同一埠,同一協議
正確答案: A,B,C
決議:同源策略: 相同域名、埠號、傳輸協議
20.jq中法可以發起ajax請求的方法有
A $.ajax
B $.get
C $.post
D $().load
正確答案: A,B,C,D
決議:識記題 $.ajax()jquery的底層封裝 $.get() 封裝get請求 $.getJSON()可以做跨域請求
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/293980.html
標籤:其他
