Насколько я понял из вашего описания проблемы, дело в
document.write - он просто перезаписывает все, что есть на странице (
подробнее).
Вам нужно писать в innerHtml какого-то конкретного элемента -
вот так:
var myNumber = 10;
function newFunc(number) {
var el = document.getElementById('bar'),
content = '';
for (var i = 1; i <= number; i++) {
content += 'Number: ' + i + '<br />';
}
el.innerHTML = content;
}
newFunc(myNumber);
А с массивами лучше работать так (
вот почему):
var myNumber = 10;
function newFunc(number) {
var newArray = [],
str;
for (var i = 0; i < number; i++) {
str = 'Number: ' + (i + 1) + '<br />';
newArray.push(str);
console.log(str);
}
}
newFunc(myNumber);
Это при условии, что вам действительно потом нужен этот массив, и вы не используете его как кривую замену обычному оператору for:
var myNumber = 10;
function newFunc(number) {
for (var i = 1; i <= number; i++) {
console.log('Number: ' + i + '<br />');
}
}
newFunc(myNumber);