注: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); 上述代码执行的结果是
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()执行后返回值为新数组的长度
6. 请阅读下面代码 var arr = [1,2,3,,4,,,5]; for(var i in arr){ console.log(arr[i]); } 上述代码的执行结果是
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循环自动会读取每一个下标位置的值
7. 节点之间的关系不包括
A 包含关系(父子关系)
B 平级关系(兄弟关系)
C 包裹关系
D 覆盖关系
正确答案: C,D
解析:节点的关系一般成为父子和兄弟,父子为包含,兄弟为平级
8.下列哪些方法可以遍历数组
A for
B for-in
C do-while
D for-by
正确答案: A,B,C
解析:js中目前没有for-by方法,js中的循环都可以,如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节点
A 属性
B 文本
C 注释
D 标签
正确答案: A,B,C,D
解析:DOM节点有:属性,文本,注释,标签,根节点