我试着查了一下,发现了一段我不太明白的代码。

<p>Count the number of milliseconds between the two click events on a paragraph </p>
<div>Click on the above paragraph</div>

$(document).ready(function() {
    var lastt, tdiff;
    $("p").click(function(event){
        if(lastt){
            tdiff = event.timeStamp - lastt;
            $("div").append("Time since last event: " + tdiff + "<br>");
        }else{
            $("div").append("<br>Click again.<br>");
        }
        lastt = event.timeStamp;
    });
});

我的问题如下:
什么意思?这是一个变量,怎么可能
对/错?
如何在分配if(lastt)之前计算tdiff?
为什么最后一个在if和else语句之后而不是之前?

最佳答案

1-如果(lastt)是什么意思?
语句检查是否设置了lastt变量。在第一次单击时,值是null(一个错误的值),函数只是添加一个p元素。
它是一个变量,所以它怎么可能是真/假的?
变量可以有布尔值。为什么不?但这里的重点不是检查布尔值。if语句用于检查是否设置了该值,即lastt不是null。时间戳是一个数字,任何不0的数字在JavaScript中都被视为真实值。
2-如何在分配LAST之前计算tdiff?
这并不是真的发生。第一次单击时,处理程序不计算任何内容。
为什么最后一个在if和else语句之后而不是之前?
为了检查2个时间戳的差异,需要使用lastt。新的lastt将在处理程序的下一次调用中使用,因此需要在计算之后对其进行设置。

08-25 20:18