【錯題記錄】JavaScript專項練習(篇六)
1. 下列描述中,錯誤的是
a. 物件導向開發中,引用傳遞意味著傳遞的並不是實際的物件,而是物件的引用,因此,外部對引用物件所做的改變不會反映到所引用的物件上
b. 物件導向的三大特性包括:封裝,繼承,多型
解析:答案 a
引用物件引用的是實際的物件,對引用的修改就是對物件的修改
2. 從字串 const str = ‘qwbewrbbeqqbbbweebbbbqee’;中能得到結果 [“b”, “bb”, “bbb”, “bbbb”] 以下錯誤語句是
a. str.match(/b+/g)
b. str.match(/b*/g)
c. str.match(/b{1,4}/g)
d. str.match(/b{1,5}/g)
解析:答案 b
+表示出現至少一次b
*表示可以不出現b,也可以出現一次或多次
{n,m}表示最少出現n次b,最多出現m次b
3.要在10秒後呼叫checkState,下列哪個是正確的
a. window.setTimeout(checkState, 10)
b. window.setTimeout(checkState, 10000)
c. window.setTimeout(checkState(), 10)
d. window.setTimeout(checkState(), 10000)
解析:答案 b
window.setTimeout(checkState(), 10000); //立即被呼叫
window.setTimeout(checkState, 10000); // 10s後被呼叫
window.setTimeout(“checkState()”, 10000); //10s後被呼叫 注意和第一個的區別 有引號
checkState加了圓括弧相當於函式表示式,會立即執行,執行的結果作為返回值傳遞給settimeout
4. 如下結果是
var x = new Boolean(false);
if (x) {
alert('hi');
}
var y = Boolean(0);
if (y) {
alert('hello');
}
解析:答案 hi
此題考查的是 JS 的型別轉換:
- if(x) 這裡期望 x 是一個布林型別的原始值,而 x 是一個物件,任何物件轉為布林值,都為得到 true(切記!在 JS 中,只有0,-0,NaN,"",null,undefined 這六個值轉布林值時,結果為 false)
- 題目的第二部分,一定要注意 y = Boolean(0),而不是 y = new Boolean(0)。這兩個有很大區別,用 new呼叫建構函式會新建一個布林物件,此處沒有加 new,進行的是顯示型別轉換,正如上述第一條所說,0 轉換布林,結果為 false,所以此時y 的值就是 false。如果加了 new,那麼 y 就是一個 Boolean 型別的物件,執行 if(y) 時,物件轉布林,始終是true,所以結果會與不加 new 的時候相反
5.下拉選單中,使用者更改表單元素Select中的值時,就會呼叫( onChange
)事件處理程式
6. 哪些表示式的結果為true
a. isNaN("100")
b. parseInt("1a") === 1
c. [] instanceof Array
解析 答案 b c
7. 如何遍歷下面的 my_data 物件?var my_data={a:’Ape’, b:’Banana’, c:’Citronella’}
a. for(var key in my_data) {}
b. foreach(my_data as key=>value) {}
c. for(var i=0;i<my_data.length;i++) {}
解析:答案 a
for…in 語句用於遍歷陣列或者物件的屬性(對陣列或者物件的屬性進行迴圈操作)
8. 以下ES6程式碼,下面哪項正確
function * gen() {
yield 1;
yield 2;
yield 3;
}
a. gen()執行後返回一個Generator物件
b. gen()執行後返回1
解析:答案 a
9.
getElementsByName() 方法可返回帶有指定名稱的物件的集合
- 語法
document.getElementsByName(name)
該方法與 getElementById() 方法相似,但是它查詢元素的 name 屬性,而不是 id 屬性 - 另外,因為一個文件中的 name 屬性可能不唯一(如 HTML 表單中的單選按鈕通常具有相同的 name 屬性),所有getElementsByName() 方法返回的是元素的陣列,而不是一個元素
10. 下列不屬於
document物件方法的是
a. onload
b. querySelectorAll
c. children
d. ajax
解析:答案 a c d
onload 為 document 物件的屬性,而不是方法
ParentNode.children 是一個只讀屬性,返回一個節點的子元素,是一個動態更新的 HTMLCollection 型別。不是 document 物件的方法
AJAX不是JavaScript的規範,它只是一個縮寫:Asynchronous JavaScript and XML,意思就是用JavaScript執行非同步網路請求。在現代瀏覽器中主要依靠 XmlHttpRequest 物件
11. 以下程式碼執行後,console 的輸出是
function Foo(){
console.log(this.location)
}
Foo()
解析:答案 當前視窗的 Location 物件
點選檢視?this指向
這裡 this指向 window物件中的location
12.
var filt=/^1[0-9]{10}+$/
^ 匹配輸入字串的開始位置。在這裡也就是要求1開始
[0-9]{10}+ [0-9]匹配0~9之間的數字,{10}重複10次。+匹配前面的子表示式一次或多次
$ 匹配輸入字串的結尾位置
13. 以下 javascript 程式碼,在瀏覽器中執行的結果是
解析:答案:string
短路或 如果第一項是true 則結果為true 如果第一項為false 結果 為第二項(第二項不做計算直接返回)
14. 獲取原生JS的父節點的是
解析:答案 element.parentNode
15.以下程式碼的輸出結果是
var f = function g() {
return 23
}
typeof g()
a. "number"
b. Error
解析:答案 b
typeof f 結果是function
typeof f() 結果是number
typeof g 結果是undefined.
typeof g() 結果是ReferenceError,g is not defined
16. 該程式碼在瀏覽器中執行,輸出的日誌結果是什麼 (後續研究…)
var obj = {};
obj.log = console.log;
obj.log.call(console,this);
解析:答案 window
相關文章
- 【錯題記錄】JavaScript專項練習(篇五)JavaScript
- vsc練習問題記錄
- Bug除錯專項訓練四筆記除錯筆記
- Bug除錯專項訓練三筆記除錯筆記
- python 100題練習記錄(三)Python
- 六,陣列筆記及相關練習題大全陣列筆記
- Javascript 學習 筆記六JavaScript筆記
- 數理統計筆記[牛客專項練習]筆記
- 思維題專項訓練
- 動態規劃專項訓練記錄 2024.3動態規劃
- javascript 學習記錄 -- 程式設計題集合JavaScript程式設計
- 生物套卷練習記錄
- SQL專項複習(視窗函式)——習題篇01SQL函式
- web前端 javascript 練習題一Web前端JavaScript
- [雜項] 刷題記錄
- JavaScript回顧學習:目錄篇JavaScript
- 語文套卷練習記錄
- stm32學習之除錯篇踩坑記錄除錯
- javascript學習筆記--元字元使用練習JavaScript筆記字元
- Scala學習(六)練習
- 學習 第3章:專項練習之一
- JavaScript Promise 學習記錄(一)JavaScriptPromise
- 前端學習記錄(CSS篇)前端CSS
- 演算法練習記錄(24.10.5)演算法
- Python練習題篇(列表、字典、元祖)Python
- GitHub學習除錯記錄Github除錯
- 資料結構專題練習資料結構
- postgresal使用錯誤解決 (記錄篇)
- Javascript 學習筆記--語法篇JavaScript筆記
- angular學習筆記(六)-非入侵式javascriptAngular筆記JavaScript
- PHP 第六週函式學習記錄PHP函式
- CF專項訓練
- 專項訓練們
- ISCC 2024 練武題 misc趣題記錄
- ctfshow刷題記錄-社工篇-1
- Caffe學習記錄:Cifar-10 自定義網路訓練記錄
- JavaScript專項演算法題(6):PromisesJavaScript演算法Promise
- Python 學習除錯記錄Python除錯