#javascript
#javascript
Вопрос:
Я хочу понять, как этот forloop работает в Javascript. Часть, которая меня больше всего смущает, — это часть «text =».
Я прокомментировал рядом со всеми строками, которые, как мне кажется, я понимаю. Любое четкое объяснение всего кода будет высоко оценено.
Я поиграл с кодом через веб-сайт w3schools, где и наткнулся на него.
Код:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var fruits, text;
fruits = ["Banana", "Orange", "Apple", "Mango"];
text = "<ul>"; //start of list
fruits.forEach(myFunction); //for each fruit add
text = "</ul>"; // end of list
document.getElementById("demo").innerHTML = text; // add to html
function myFunction(x) { // function with one parameter to parse
text = "<li>" x "</li>";
}
</script>
</body>
</html>
Ответ №1:
x =y
это синтаксический сахар для x=x y
, что означает, что эти два параметра одинаковы.
Итак, в вашем случае:
-
text = "</ul>";
просто добавил бы</ul>
закрывающий тег кtext
переменной;и
-
text = "<li>" x "</li>";
было бы эквивалентноtext = text "<li>" x "</li>"
.
Комментарии:
1. @bipll с точки зрения атомарности?
2. Не в этом конкретном случае, конечно, но в общем случае LHS будет оцениваться только один раз.
3. Я не уверен, что понял, что вы имеете в виду. Не могли бы вы кратко остановиться на этом?
4.
the_longest_evluation() = the_longest_evaluation() 42;
5. Я понимаю часть x = x y. итак, text = text x . но я не получаю функциональную часть. «text = text «<li>» x «</li>». откуда он знает, что не нужно продолжать включать тег ul каждый раз, когда он проходит через цикл?