2.
单选题
写出如下代码弹出的结果:
var m= 1, j = k = 0;
function add(n) {
return n = n+1;
}
y = add(m);
function add(n) {
return n = n + 3;
}
z = add(m);
console.log(y + "," + z);
y和z的最终结果为:
js中没有函数覆盖
js变量顶部提升
add函数声明被提升到顶部
m是全局变量
所以y和z的结果都是4
故D为正确结果
[“1", "2", "3"].map(parseInt)的执行结果是?
parseInt函数的参数有两个,第二个参数表示的是参数1的进制,map方法在调用callback函数时,会给回调函数传递三个参数:当前正在遍历的元素, 元素索引, 原数组本身.parseInt会忽略第三个参数(parseInt只需要两个的参数,第一个为要被解析的字符串,第二个为要解析的数字的基数),但不会忽略第二个参数,即parseInt将元素的索引当做进制数来用,则会变成parseInt(‘1’,0);parseInt(‘2’,1),parserInt(‘3’,2);返回值为:[ 1, NaN, NaN ]
8.
不定项
以下运算结果不是number类型的是
A
"a"-1
B
1/0
C
0 && "a"
D
new Number(1)
A;‘a’-1为NaN 数据类型为number
B:1/0为infinity 0/0返回NaN,正数/0返回infinity,负数/0返回-infinity 数据类型为number
C:0 && “a" 为0,&&为短路操作,且如果有一个操作数不是布尔值,则结果就不一定返回布尔值。 a && b,如果a能转换成false,则返回a。数据类型为number
D项创建的是基本包装类型的对象。
综上所述答案为D