js练习题第7天 答案及解析

本篇文章是js基础练习题第七天的答案及解析部分,纯题目部分请移步js基础练习题 第7天

正文

1.分析以下代码(其中b未定义):

1
2
3
4
5
console.log(typeof(a));
console.log(a);
console.log(typeof(b));
console.log(b);
var a;
第1行的运行结果为__________,
第2行的运行结果为__________,
第3行的运行结果为__________,
第4行的运行结果为__________。

答案:undefinedundefinedundefined、报错(ReferenceError)

本题考查的是变量提升和类型检测,在我的文章中该类型的题已经多次出现过。


2.请简述undefinednull的区别以及用途。

答案:undefined表示未对声明的变量进行初始化,通常不需要进行显式设置,常用于基本数据类型的设置;null表示一个空对象指针,常用来在将来保存对象,undefined值是派生自null值的。


3.写出下列代码运行的结果。
Boolean("") = __________,Boolean({}) = __________,Boolean([]) = __________,Boolean(5/0) = __________,Boolean(0/0) = __________,
Boolean(new Boolean(false)) = __________。

答案:false、true、true、true、false、true

Boolean( )的转换规则:

数据类型转换为true的值转换为false的值
Booleantruefalse
String任何非空字符串空字符串
Number任何非零数字值0和NaN
Object任何对象null
Undefined\undefined

4.写出下列代码运行的结果。
isNaN("10")的返回值为__________,Number.isNaN("10")的返回值为__________,
isNaN("blue")的返回值为__________,Number.isNaN("blue")的返回值为__________。

答案:falsefalsetruefalse

isNaN( )会将参数转换为数字,若能转换成功,则返回false,否则返回trueNumber.isNaN( )只判断数字值是否为NaN,对于其他类型的值,一律返回false


5.写出下列代码运行的结果。
Number("abc")的返回值__________,Number("")的返回值为__________,
Number(undefined)的返回值为__________,Number(null)的返回值为__________,
parseInt("")的返回值为__________,parseInt("23a",7)的返回值为__________,
parseFloat("0xa")的返回值为__________,parseFloat("012")的返回值为__________。

答案:NaN、0、NaN、0、NaN、17、0、12

(1)Number( )转换规则:

原始值转换结果原始值转换结果
true1“number”number
false0空字符串0
null0“0number”number
undefinedNaN其他NaN

(2)parseInt( )转换规则:

原始值转换结果原始值转换结果
true/falseNaN“num str”num
null/undefinedNaN“number”number
空字符串NaN带进制的字符串根据相应进制转换

parseInt( )可以接受第2参数,表示转换时使用的基数。

(3)parseFloat( )与parseInt( )类似,但有一点重要的区别,即parseFloat( )会忽略前导的0,即16进制数和8进制数始终都会返回0。

说明

  1. 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
  1. 答案中,若有错误和需完善的地方,可在下方留言反馈哈~~

  2. 查看纯习题版,请点击js基础练习题 第7天

--本文结束 感谢阅读--
创作十分不易,原创更应鼓励