HTML5学堂:每天一道题,强壮程序员!今日主要涉及12.04题目(数据类型、NaN)的解答,以及一道涉及作用域、this指向相关知识的题目。
12.04真题题目如下,最终输出的结果是多少?
<script>
var str = 'H5course';
var num = parseInt(str);
if(num == NaN) {
alert(NaN);
} else if(num == 123) {
alert(123);
} else if(typeof num == 'number') {
alert('number');
} else {
alert('str');
}
</script>
本题目的答案是:number。
本题目主要考察如下知识点:parseInt的转换方式、NaN是否等于NaN、NaN的数据类型。
解释一下代码:当我们针对“H5course”这个字符串进行转换时,由于首字母并不是数字,因此会返回NaN,也就是not a number,NaN并不等于NaN,因此前两个等式是不能够成立的,但是NaN的typeof,也就是类型,是一个数字,返回的字符串是“number”,此时给出的值就是'number'了。
答案解析:本题目主要涉及JavaScript中的typeof操作符 类型转换
<script>
var innerHTML = 'h5course';
window.onload = function() {
var innerHTML = 'HTML5学堂';
var obj = {
innerHTML: 'H5学堂',
fn: function() {
console.log(this.innerHTML);
}
}
obj.fn();
var peo1 = obj;
peo1.fn();
var peo2 = obj.fn;
peo2();
}
</script>
关于每日代码练习题的答案和解析,我们会在明日文章当中,发布相关答案以及基本原理。(PS:周六日不发布题目)