本篇文章是js基础练习题第三天的答案及解析部分,纯题目部分请移步js基础练习题 第3天
正文
1.
1 | var exerOne = false; |
exerOne
的值为______________。答案:true
注意第2行中的=
为赋值操作
2.
1 | var weekday = new Date().getDay(); |
weekday
的值是____。答案:unknown
switch
循环中的case
语句后若不添加break
,则每个case都会执行,返回的内容取决于最后一个语句
3.给定一个变量,如何检测它是否为
NaN
?答案:NaN是唯一一个自身与自身不相等的值,利用if(name !== name)如果结果为真,则证明该值为NaN。
利用isNaN()
函数,可以更准确的检测。
关于isNaN()
和Number.isNaN()
的区别,点击这里
4.
1 | var array=[]; |
array
的结果为______________。答案:[0, 0, 1, 3, 4, 1, 0, 1, 3, 4]
break
语句是退出整个循环,而continue
语句是退出当前循环而进入下一次循环
5.
1 | var foo = function bar() { |
typeof(foo)
= ______________;
typeof(foo())
= ______________;
typeof(bar)
= ______________;
typeof(bar())
= ______________。
答案:function、number、undefined、报错(ReferenceError)
在此题中,foo
才是函数名。执行typeof(foo())
得到的是foo
函数的返回值,如果没有返回值,则为undefined
。
6.
1 | var a, b; |
答案:5、5、undefined、5
该题目考查了js变量定义及作用域的概念。在立即执行函数内部定义var a = b = 5;实际上相当于执行
1 | b = 5; |
故在函数外部的变量b
也同步修改了,而函数外部的变量a
未被修改
7.
1 | var array = new Array(0x17); |
Number(array);
的结果是_______,array.length;
的值是_______。答案:NaN、23
js会根据在Array
构造函数中传入的参数值n
确定数组的初始长度为n
,0x17
为十六进制,转换为十进制为23
。对数组调用Number()
方法,会先将该数组转为会string
类型,再转换为number
类型。
说明
- 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
答案中,若有错误和需完善的地方,可在下方留言反馈哈~~
查看纯习题版,请点击js基础练习题 第3天