действительно продолжает работу в в то время как?

Не в этом случае. Вы создаете DOM, создавая строку, а затем преобразовывая ее. Функция, которую вы создаете из строки, не будет иметь никакого отношения к области, в которой вы находитесь.

Вместо этого используйте правильный DOM.

this.domNode.innerHTML = ""; // Erase existing content
this.domNode.appendChild(document.createTextNode("Click "));
var button = document.createElement("button"); // Don't use links to the top fo the page for this
button.appendChild(document.createTextNode("Here"));
button.addEventListener("click", this.toggleLayer.bind(this));
this.domNode.appendChild(button);
this.domNode.appendChild(document.createTextNode(" to toggle layer"));
22
задан Seth 6 January 2010 в 21:50
поделиться

7 ответов

Продолжение заставляет его перейти к оценке на боттоне, чтобы программа могла оценить, должна ли она продолжить следующую итерацию или выйти. В этом случае она выйдет.

Это спецификация: http://java.sun.com/docs/books/jls/third_edition/html/statements.html#6045

Такие языковые вопросы можно искать в Спецификации языка Java: http://java.sun.com/docs/books/jls/

36
ответ дан 29 November 2019 в 04:29
поделиться

Почему вы тестируете пользователя в двух местах? Условие while прерывает цикл, когда пользователь имеет значение null, что и требуется.

3
ответ дан 29 November 2019 в 04:29
поделиться

Давайте посмотрим:

$cat DoWhileContinue.java 
class DoWhileContinue {

    public static void main( String [] args ) {
        int i = 0;
        int y = 0;
        do {
            i++;
            if( i > 100 ) {
                continue;
            }
            y++;

        } while( i < 500  );
        System.out.printf("i=%d, y=%d %n", i, y );
    }
}
$javac DoWhileContinue.java 
$java DoWhileContinue
i=500, y=100 

Да, это так. В этом примере вы можете видеть, что значение y равно 100, потому что оператор continue был выполнен и препятствовал дальнейшему увеличению переменной.

0
ответ дан 29 November 2019 в 04:29
поделиться

Это действительно не лучший способ написания данного кода. Если пользователь равен нулю, вы получите NullPointerException при следующей попытке получить user.id. Лучшим способом сделать это будет:

User user = UserDao.Get(1);
while(user != null) {
  // do something with the user
  user = UserDao.GetNext(user.id);
}
4
ответ дан 29 November 2019 в 04:29
поделиться

Продолжение перейдет к заявлению об оценке цикла внутри, которое выглядит избыточным, как если бы и в то время, когда вы оцениваете то же самое. Я думаю, что лучше использовать break или просто дать while condition сделать работу (ваше while условие уже проверяет его за вас)

.
0
ответ дан 29 November 2019 в 04:29
поделиться

Краткий ответ Да, продолжить (и ломаю) работать должным образом во время петлей.

Как указывали другие, хотя из примера, похоже, вы можете ожидать неправильного поведения от продолжения.

0
ответ дан 29 November 2019 в 04:29
поделиться

Да, Продолжить будет работать в петле ..

Вы, вероятно, хотите использовать , а не вместо Продолжить , чтобы остановить обработку пользователей или просто удалить , если нулевой продолжится , поскольку равный бит Выйди, как только пользователь будет нулевым.

2
ответ дан 29 November 2019 в 04:29
поделиться
Другие вопросы по тегам:

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