为什么在执行Javascript文件之前没有呈现H1标记?

为什么在执行Javascript文件之前没有呈现H1标记?,javascript,html,Javascript,Html,我正在学习Javascript,我正在做一个小练习,尝试在5次尝试中猜测一个随机数 我定义了一个小的HTML文件,在该文件中,我在标记的末尾加载Javascript文件 //datos del programa var numCorrect=parseInt(Math.random()*100)//阿莱托拉门特将军 console.log(numCorrect); var numAdivinado; var猜测=[]; 风险价值限额=5; //mostrando caja de texto a

我正在学习Javascript,我正在做一个小练习,尝试在5次尝试中猜测一个随机数

我定义了一个小的HTML文件,在该文件中,我在
标记的末尾加载Javascript文件

//datos del programa
var numCorrect=parseInt(Math.random()*100)//阿莱托拉门特将军
console.log(numCorrect);
var numAdivinado;
var猜测=[];
风险价值限额=5;
//mostrando caja de texto al-usuario
而(限制>0){
限制--;
numAdivinado=parseInt(window.prompt(“Ingree unúmero”);
if(valArray(numAdivinado)==true){
极限++;
}
document.write(“Los numeros hasta ahora ingresados son:“+guesss.toString()+”\n”);
if(numAdivinado==numCorrect){
文件。书写(“数字”或“数字”);
打破
}否则{
警告(“错误!-lequedan”+限制+“意图”);
}
如果(限制==0){
文件。书写(“Perdio!-El número correcto era:”+numCorrect);
}
}
//valida el阵列函数
函数数组(numb){
如果(猜测长度>0){

对于(var i=0;i,您可以使用以下内容包装您的javascript:

document.addEventListener("DOMContentLoaded", function() {
   // your page initialization code here
   // the DOM will be available here
});
这将确保在脚本执行之前加载DOM


此外,您不应该像@Alex Kudryashev提到的那样使用document.write。您应该使用document.createElement和appendChild来使用文档片段:

let paragraph = document.createElement('p');
paragraph.innerText = "whatever I need to load or say";

// you can use the body, a div, or whatever element you want to append to
myElement.appendChild(paragraph);

它不会被渲染,因为您处于一个while循环中,如果您定义一个函数,并使用
setTimeout(functionName,1)调用它,则该循环不会为渲染留出时间。最后,它将起作用。在每次调用之间留出1毫秒的时间,渲染可能发生。例如:

         limit =5;
         function parseNumber(currentLimit);
           numAdivinado = parseInt(window.prompt("Ingrese un número"));

           if (valArray(numAdivinado) == true) {
               limit++;
           }

           document.write("Los numeros hasta ahora ingresados son: " + guesses.toString() + "\n");

           if (numAdivinado == numCorrect) {
               document.write("El numero ingresado coincide con el aleatorio");
               break;
           } else {
               window.alert("Error! - Le quedan " + limit + " intentos");
           }

           if(limit == 0) {
               document.write("Perdio! - El número correcto era: " + numCorrect);
           }
           if(currentLimit<limit ){
               //functino to call , timeout, ...parameters
               setTimeout(parseNumber,1,currentLimit-1)
           }
        }
        parseNumber(0);
limit=5;
函数解析数(currentLimit);
numAdivinado=parseInt(window.prompt(“Ingree unúmero”);
if(valArray(numAdivinado)==true){
极限++;
}
document.write(“Los numeros hasta ahora ingresados son:“+guesss.toString()+”\n”);
if(numAdivinado==numCorrect){
文件。书写(“数字”或“数字”);
打破
}否则{
警告(“错误!-lequedan”+限制+“意图”);
}
如果(限制==0){
文件。书写(“Perdio!-El número correcto era:”+numCorrect);
}

如果(CurrentLimit避免使用
文档。编写
。改用DOM属性/方法。这是如何回答问题的?OP问的是为什么会发生这样的事情。@Camilo它确实回答了他的问题,我清楚地指出,如果你在
DOMContentLoaded
中输入,JavaScript将在后面运行。没有理由拒绝投票。OP问的是为什么会发生这样的事情。@Camilo它回答了他的问题,我清楚地声明,如果你输入
DOMContentLoaded
appens,不是如何修复它。告诉OP在脚本执行之前需要加载DOM就是告诉他为什么。这里你错了。