2016-10-21 4 views
-2

Я изучаю javascript из w3school. Я добрался до этого примера. Есть ли возможность написать этот код «лучше»? Разве это не устарело?Правильно ли этот код из w3school?

Спасибо

<!DOCTYPE html> 
<html> 
<body> 

<h1>JavaScript Arrays</h1> 

<p>The best way to loop through an array is using a standard for loop:</p> 

<p id="demo"></p> 

<script> 
var fruits, text, fLen, i; 

fruits = ["Banana", "Orange", "Apple", "Mango"]; 
fLen = fruits.length; 
text = "<ul>"; 
for (i = 0; i < fLen; i++) { 
    text += "<li>" + fruits[i] + "</li>"; 
} 
text += "</ul>"; 
document.getElementById("demo").innerHTML = text; 
</script> 

</body> 
</html> 
+0

Это рабочий код ... Для таких действий вы можете использовать jQuery. – Dzhambazov

+2

уверен, что существует много способов написать один и тот же код, но мы не знаем, что вы подразумеваете под «лучше». вы говорите о производительности или элегантности? – Aziz

+4

W3Schools не имеет ничего общего с W3C FYI – Liam

ответ

0

Я предлагаю это

<!DOCTYPE html> 
 
<html> 
 
    <body> 
 

 
    <h1>JavaScript Arrays</h1> 
 

 
    <p>The best way to loop through an array is using a standard for loop:</p> 
 

 
    <p id="demo"></p> 
 

 
    <script> 
 
     var fruits = ["Banana", "Orange", "Apple", "Mango"]; 
 
     var fVar = 0; 
 
     var fLen = fruits.length; 
 
     var htmlContent = "<ul>"; 
 
     for (fVar = 0; fVar < fLen; fVar++) { 
 
     htmlContent += "<li>" + fruits[fVar] + "</li>"; 
 
     } 
 
     htmlContent += "</ul>"; 
 
     document.getElementById("demo").innerHTML = htmlContent; 
 
    </script> 
 

 
</body> 
 
</html>

Это только основной код, чтобы понять понятие массива больше ничего.

+0

Спасибо @ Нитеш! – Coder

+0

Добро пожаловать. – Nitheesh

0

Не знаю, если это на самом деле лучше, но в любом случае она короче и использует более «современные» функции.

let fruits = ["Banana", "Orange", "Apple", "Mango"], 
    text = fruits.map((fruit) => '<li>' + fruit + '</li>'); 

document.querySelector('#demo').innerHTML = '<ul>' + text.join('') + '</ul>'; 
+0

map? Лучше присоединяться к звукам в этом случае нет? '«

  • „+ [„Банан“,„Апельсин“,„Яблоко“,„Манго“]. Присоединиться (“
  • „) +“
»' – Kaiido

+0

Я лично не нравится присоединяется, как вы используете их там для меня это не так структурировано, как код, который я опубликовал. Но я пропустил 'join()' в моем коде, так что спасибо. – Sirko

0

вы можете создать в вас HTML

<ul id="fruitUl"></ul> 

затем

text=""; 
for (i = 0; i < fLen; i++) { 
    text += "<li>" + fruits[i] + "</li>"; 
} 
$("fruitUl").append(text); 

это слишком антиквариатом. это просто мое мнение.

Смежные вопросы