注:var arr=[1,5,4,8,4,7,3],var arr1=arr,arr2.push(3)
arr和arr1都會變成[1,5,4,8,4,7,3,3],雖然只是修改了arr1笙隙,但由于數組的存儲方式在堆中接奈,棧中存儲的只是地址臊泰,arr和arr1共用一個地址儒老,push導致堆中數據被改變千劈。
1. 請閱讀下面代碼 var arr = [1,2,3,4,5]; var arr2 = arr; arr2.push(0); arr2.concat(6); console.log(arr); 上述代碼執(zhí)行的結果是
A? [1,2,3,4,5]
B? [0,1,2,3,4,5]
C? [1,2,3,4,5,0]
D? [1,2,3,4,5,0,6]
正確答案:?C
解析:concat不修改原數組梯码,會返回一個新的數組吆鹤,所以輸出原數組只會輸出push之后的結果
返回值:
push:增加后數組長度
pop:刪除的元素
unshift:增加后數組的長度
shift:刪除的元素
splice:被截取元素組成的數組
reverse:調用reverse方法的那個數組
concat:不會改變原數組,返回一個新的數組
join:不會改變原始數組,而是把連接好的字符串返回
indexOf:就是找到的一個符合條件的項的索引,如果找不到返回-1
map:可以對數組中的每一項進行操作,返回一個新的數組
filter:按照條件來篩選數組厨疙,把原始數組中滿足條件的篩選出來,組成一個新的數組返回
sort:排序好的數組(a-b升序,b-a降序)
2. 請閱讀下面代碼 var arr = [25,111,18,12,92,5,15]; 如何將上面數組按降序排列
A? arr.sort()
B? arr.sort(function(a,b){return a-b;})
C? arr.sort(function(a,b){return b-a;})
D? arr.sort(a-b)
正確答案:?C
解析:sort方法加比較器函數檀头,return b-a轰异;就是做的降序
3. var arr = [5,3,2,4]; var res = arr.splice(0); console.log(res) 結果是
A? [5,3,2,4]
B? [5]
C? [5,3]
D? [2,4]
正確答案:?A
解析:splice:返回值被截取元素組成的數組,.splice(n)無論n為多少暑始,都是保留數組全部數值
4. 請閱讀下面代碼 var arr = [1,2,3,"hello"]; arr.concat("world"); console.log(arr.toString()); 上述代碼的輸出結果是
A? "1,2,3,hello"
B? "string"
C? "1,2,3,hello,world"
D? "1 2 3 hello world"
正確答案:?A
解析:concat不修改原數組搭独!
5. var ?arr = [3,4,5]; var ?res = arr.unshift(1,2); console.log(res); 輸出的結果是
A? [1,2]
B? [3,4,5]
C? 5
D? [1,2,3,4,5]
正確答案:?C
解析:unshift()執(zhí)行后返回值為新數組的長度
6. 請閱讀下面代碼 var arr = [1,2,3,,4,,,5]; for(var i in arr){ ?console.log(arr[i]); } 上述代碼的執(zhí)行結果是
A? 1,2,3,4,5
B? 1,2,3,undefined,4, undefined, undefined,5
C? 1,2,3,null,4,null,null,5
D? 1,2,3,0,4,0,0,5
正確答案:?B
解析:for in循環(huán)自動會讀取每一個下標位置的值
7. 節(jié)點之間的關系不包括
A? 包含關系(父子關系)
B? 平級關系(兄弟關系)
C? 包裹關系
D? 覆蓋關系
正確答案:?C,D
解析:節(jié)點的關系一般成為父子和兄弟,父子為包含廊镜,兄弟為平級
8.下列哪些方法可以遍歷數組
A? for
B? for-in
C? do-while
D? for-by
正確答案:?A,B,C
解析:js中目前沒有for-by方法牙肝,js中的循環(huán)都可以,如while,do while配椭,for虫溜。
9. 以下方法中,屬于字符串的方法有
A? indexOf()
B? split()
C? replace()
D? charAt()
正確答案:?A,B,C,D
解析:
indexOf根據指定字符股缸,查詢索引衡楞,
split根據指定字符,分割字符串成數組敦姻,
replace查找符合條件的字符串瘾境,替換成新字符串,
charAt根據索引镰惦,查詢字符迷守,
10.?下列方法能截取字符串片段的是
A? substr()
B? substring()
C? split()
D? slice()
正確答案:?A,B,D
解析:split是分割字符串,其他都可以截取
11. 下列哪些選項屬于DOM節(jié)點
A? 屬性
B? 文本
C? 注釋
D? 標簽
正確答案:?A,B,C,D
解析:DOM節(jié)點有:屬性旺入,文本兑凿,注釋,標簽茵瘾,根節(jié)點