Javascript 嵌套输入问题
为什么“未定义”会出现在我的文本顶部Javascript 嵌套输入问题,javascript,nested-function,Javascript,Nested Function,为什么“未定义”会出现在我的文本顶部 function myname() { document.write('Im john doe '); } function myage() { myname(); document.write('Im 47 years old'); } document.querySelector('.test').innerHTML=myage(); 这是完整的代码 function myage(){ myname();
function myname() {
document.write('Im john doe ');
}
function myage() {
myname();
document.write('Im 47 years old');
}
document.querySelector('.test').innerHTML=myage();
这是完整的代码
function myage(){
myname();
document.write('Im 47 years old')
}
document.querySelector('.test').innerHTML=myage()
在这种情况下,当您调用myage()
时,它不会返回任何内容。因此,所选目标的innerHtml将一无所获
这就是它显示未定义的原因。当浏览器处理HTML文档并遇到标记时,它需要在继续构建DOM之前执行。当您试图访问此时不可用的document.querySelector('.test')时,它给出了一个未定义的值。检查下面的代码,其中,在加载dom后,脚本在执行时不带out undefined
文件
函数myname(){
文件。写('imjohndoe')
}
函数myage(){
myname();
文件。写(‘我47岁’)
}
document.addEventListener(“DOMContentLoaded”,()=>{
document.querySelector('.test')。innerHTML=myage()
});
myAge()
不返回任何内容,因此隐式值将为“未定义”。