这段js代码是什么意思呀?

var start = Date.now();
var response = prompt("What is your name?", "");
var end = Date.now();
var elapsed = (end - start) / 1000;
document.write("You took " + elapsed + " seconds" + " to type: " + response);

clipboard.png

为什么start和end都是Date.now()? 还有elapsed=(end-start)/1000是什么意思啊?

阅读 2.7k
4 个回答

Date.now()
都是取当前时间啊
end和start执行的时间不同可以取出时间差得出花费了多少时间

var start = Date.now();
setTimeout(function(){
    var end = Date.now();
    console.log(end-start);
},2000);

首先,prompt是会阻塞代码向下运行的,所以当弹出框的时候,代码是没有进行到下一步的。

然后,第一个start = Date.now()是记录弹出框出现之前的时间。第二个end = Date.now()是记录弹出框关闭以后的时间。

最后,做了一个减法,计算弹出框花了多长时间关闭

请按下CTRL + SHIFT + I
将代码复制到控制台
运行

理解这段函数的目的是什么就好理解多了,比如这段代码的功能就是计算用户输入所花费的时间

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题