2015.12.04 HTML5真题练习

时间:2022-05-03
本文章向大家介绍2015.12.04 HTML5真题练习,主要内容包括HTML5真题【2015.12.03】答案解析、HTML5真题【2015.12.04】题目、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

HTML5学堂:每天一道题,强壮程序员!今日主要涉及昨日题目(计时器、单线程、Date对象知识)的解答,以及一道涉及数据类型、NaN相关知识的题目。

HTML5真题【2015.12.03】答案解析

昨日真题题目如下,最终输出的结果是多少?

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5学堂 - H5course</title>
<link rel="stylesheet" href="reset.css">
</head>
<body>
<script>
var curDate = new Date();
setTimeout(function(){
console.log('a');
}, 500);
while(new Date() - curDate<1000){


}
</script>
</body>
</html>

本题目的答案是:在运行1秒之后,控制台中打印出了a这个字符。

while循环自不必说。解释一下代码:在代码的第十行,获取了一下当前时间,之后原本是希望将计时器的代码于500毫秒之后放置于JS的执行队列当中,但是正好后面有一个while循环,于是运行while循环语句,每次运行循环时均会再次获取时间,将该时间与之前的首次时间做差值,达到1000毫秒之后才可以跳出循环,也就意味着,在线程当中,while循环语句占据了1000毫秒的位置,这也就让计时器中的代码延迟了500毫秒才能够执行。

答案解析:本题目主要涉及JavaScript高级计时器

HTML5真题【2015.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>

关于每日代码练习题的答案和解析,我们会在明日文章当中,发布相关答案以及基本原理。(PS:周六日不发布题目)