Проверка, назвали ли clearInterval?

Нет никакого категорического списка. Шаблоны обнаружены, не изобретены, таким образом, нет никакой организации, которая может заявить, что "это - шаблон" и "это не шаблон". Даже если бы было один, это не было бы полезно ни для кого.

Несмотря на это, "известные" шаблоны - те описанные в Шаблонах разработки или книге GOF.

34
задан Hubert Kario 6 February 2012 в 00:51
поделиться

2 ответа

Возвращаемое значение setInterval - это просто уникальный идентификатор , который вы используете для возврата к clearInterval . Это не структурированный объект с какой-либо дополнительной информацией, и он не получает значение null при вызове clearTimeout .

35
ответ дан 27 November 2019 в 17:06
поделиться

bob содержит только идентификатор интервала, используемого для его очистки. Когда вы вызываете clearInterval, он получает интервал, связанный с этим идентификатором, и очищает его. Идентификатор вообще не меняется.

см. Здесь демонстрационный пример

:

<html>
<head>
<title>Javascript clearInterval</title>
</head>
<body onload="startInterval();">

<center>
    <div id="myTime"></div>

    <input type="button" value="start Interval" onclick="startInterval();" />

    <input type="button" value="stop Interval" onclick="stopInterval();" />
</center>

<script language="javascript">

var interval;

function startInterval()
{
    // setInterval of 1000 milliseconds i.e. 1 second
    // to recall the startTime() method again n again
    interval = setInterval("startTime();", 1000);
}

function startTime()
{
    // Date object to get current time
    var timeFormat = new Date();

    // set the current time into the HTML div object.
    document.getElementById('myTime').innerHTML = timeFormat.toLocaleTimeString();
}

function stopInterval()   //***********IMPORTANT FUNC******************
{
    // clearInterval to stop the setInterval event
    alert(interval);  
    clearInterval(1);

}

</script> 

</body>
</html>

Это покажет вам идентификатор интервала (возвращенный ранее setInterval). Если вы знаете, что идентификатор интервала равен 1, вы можете просто использовать clearInterval (1) для очистки интервала. Таким образом, ваш способ использования установки bob на null - хороший способ сделать это. Только убедитесь, что! Bob не возвращает true, если bob оказывается равным 0.: D

7
ответ дан 27 November 2019 в 17:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: