Не в этом случае. Вы создаете 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"));
Продолжение заставляет его перейти к оценке на боттоне, чтобы программа могла оценить, должна ли она продолжить следующую итерацию или выйти. В этом случае она выйдет.
Это спецификация: http://java.sun.com/docs/books/jls/third_edition/html/statements.html#6045
Такие языковые вопросы можно искать в Спецификации языка Java: http://java.sun.com/docs/books/jls/
Почему вы тестируете пользователя в двух местах? Условие while прерывает цикл, когда пользователь имеет значение null, что и требуется.
Давайте посмотрим:
$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
был выполнен и препятствовал дальнейшему увеличению переменной.
Это действительно не лучший способ написания данного кода. Если пользователь равен нулю, вы получите NullPointerException при следующей попытке получить user.id. Лучшим способом сделать это будет:
User user = UserDao.Get(1);
while(user != null) {
// do something with the user
user = UserDao.GetNext(user.id);
}
Продолжение перейдет к заявлению об оценке цикла внутри, которое выглядит избыточным, как если бы и в то время, когда вы оцениваете то же самое. Я думаю, что лучше использовать break или просто дать while condition сделать работу (ваше while условие уже проверяет его за вас)
.Краткий ответ Да, продолжить (и ломаю) работать должным образом во время петлей.
Как указывали другие, хотя из примера, похоже, вы можете ожидать неправильного поведения от продолжения.
Да, Продолжить
будет работать в петле ..
Вы, вероятно, хотите использовать , а не
вместо Продолжить
, чтобы остановить обработку пользователей или просто удалить , если нулевой продолжится
, поскольку равный бит Выйди, как только пользователь будет нулевым.