Следующие утверждения являются обобщениями; в то время как всегда возможно умолять исключение, это обычно (по моему опыту, и скромное мнение) не стоит рисков.
Сноски к вышеупомянутому:
Относительно точки 2, рассмотрите следующий код:
a = b + 1
/* do something with a */
В "делают что-то" указывает в коде, мы можем заявить с высокой уверенностью, что a
больше, чем b
. (Да, я игнорирую возможность незахваченного целочисленного переполнения. Давайте не срывать простой пример.)
, С другой стороны, если код считал этот путь:
...
goto 10
...
a = b + 1
10: /* do something with a */
...
goto 10
...
разнообразие способов добраться до маркировки 10 означает, что мы должны работать намного тяжелее, чтобы быть уверенными в отношениях между a
и b
в той точке. (На самом деле в общем случае это undecideable!)
Относительно точки 4, целое понятие "движения где-нибудь" в коде является просто метафорой. Ничто действительно не "идет" никуда в ЦП кроме электронов и фотонов (для сбросного тепла). Иногда мы бросаем метафору для другого, более полезного, один. Я вспоминаю обнаружение (несколько десятилетий назад!) язык, где
if (some condition) {
action-1
} else {
action-2
}
был реализован на виртуальной машине путем компиляции действия 1 и действие 2 как исключительные стандартные программы без параметров, затем использования единственного кода операции VM с двумя аргументами, который использовал булево значение условия вызвать один или другой. Понятие было просто, "выбирают, что вызвать теперь", а не "идут сюда или идут туда". Снова, просто изменение метафоры.
Если вы хотите, чтобы они были добавлены и одновременно сдвигались вниз, сделайте следующее:
function prependListItem(listName, listItemHTML){
$(listItemHTML).hide().prependTo('#' + listName).slideDown('slow');
}
Чтобы действительно сделать то, что вы описали (сдвиньте вниз , затем исчезают) вам понадобится что-то вроде этого:
function prependListItem(listName, listItemHTML){
$(listItemHTML)
.hide()
.css('opacity',0.0)
.prependTo('#' + listName)
.slideDown('slow')
.animate({opacity: 1.0})
}
Попробуйте:
$("<li>new item</li>").hide().prependTo("#" + listName).slideDown("slow");
Другими словами: