Javascript 为什么赢了';这个简单的代码不能运行吗? 函数toD(角度){ 返回角*(180/数学π); } var a=document.getElementById('test')。innerHTML=toD(15);

Javascript 为什么赢了';这个简单的代码不能运行吗? 函数toD(角度){ 返回角*(180/数学π); } var a=document.getElementById('test')。innerHTML=toD(15); ,javascript,html,Javascript,Html,抱歉,我不确定我是否遗漏了什么,但为什么这段代码没有运行?提前谢谢你,如果这是一个愚蠢的问题,对不起 运行时var a=document.getElementById('test').innerHTML=toD(15)不存在 将脚本放在之后,或者将整个脚本包装在其自己的函数中,并将其分配给onload,以便它仅在之后运行,并且DOM的其余部分可用 或者 <html> <head> </head> <body> <scr

抱歉,我不确定我是否遗漏了什么,但为什么这段代码没有运行?提前谢谢你,如果这是一个愚蠢的问题,对不起

运行时var a=document.getElementById('test').innerHTML=toD(15)不存在

将脚本放在

之后,或者将整个脚本包装在其自己的函数中,并将其分配给
onload
,以便它仅在

之后运行,并且DOM的其余部分可用

或者

<html>
    <head>
    </head>
    <body>
<script>


function toD(angle) {
  return angle * (180 / Math.PI);
}
var a = document.getElementById('test').innerHTML = toD(15);
</script>

<p id='test'> </p>

    </body>
    </html>

函数toD(角度){ 返回角*(180/数学π); } var a=document.getElementById('test')。innerHTML=toD(15);


window.onload=函数(){
函数toD(角度){
返回角*(180/数学π);
}
var a=document.getElementById('test')。innerHTML=toD(15);
}


注意:这是一种非常肮脏的使用
window.onload
的方法,只有当这是页面上唯一需要
onload
的脚本时才应该使用。有关在将有多个脚本使用时正确使用
onload
的更多信息,请在运行
var a=document.getElementById('test')。innerHTML=toD(15)时阅读不存在

将脚本放在

之后,或者将整个脚本包装在其自己的函数中,并将其分配给
onload
,以便它仅在

之后运行,并且DOM的其余部分可用

或者

<html>
    <head>
    </head>
    <body>
<script>


function toD(angle) {
  return angle * (180 / Math.PI);
}
var a = document.getElementById('test').innerHTML = toD(15);
</script>

<p id='test'> </p>

    </body>
    </html>

函数toD(角度){ 返回角*(180/数学π); } var a=document.getElementById('test')。innerHTML=toD(15);


window.onload=函数(){
函数toD(角度){
返回角*(180/数学π);
}
var a=document.getElementById('test')。innerHTML=toD(15);
}


注意:这是一种非常肮脏的使用
window.onload
的方法,只有当这是页面上唯一需要
onload
的脚本时才应该使用。有关在多个脚本使用时正确使用
onload
的更多信息,请阅读查看JavaScript控制台[f12],您将看到一条错误消息:

未捕获的TypeError:无法将属性“innerHTML”设置为null

发生此错误的原因是您在将元素呈现到页面之前正在引用该元素

将脚本标记放在元素后面,以便它可以找到元素

<html>
    <head>
    </head>
    <body>
<script>

window.onload = function() {
  function toD(angle) {
    return angle * (180 / Math.PI);
  }
  var a = document.getElementById('test').innerHTML = toD(15);
}
</script>

<p id='test'> </p>

    </body>
    </html>

函数toD(角度){ 返回角*(180/数学π); } var a=document.getElementById('test')。innerHTML=toD(15);
查看JavaScript控制台[f12],您将看到一条错误消息:

未捕获的TypeError:无法将属性“innerHTML”设置为null

发生此错误的原因是您在将元素呈现到页面之前正在引用该元素

将脚本标记放在元素后面,以便它可以找到元素

<html>
    <head>
    </head>
    <body>
<script>

window.onload = function() {
  function toD(angle) {
    return angle * (180 / Math.PI);
  }
  var a = document.getElementById('test').innerHTML = toD(15);
}
</script>

<p id='test'> </p>

    </body>
    </html>

函数toD(角度){ 返回角*(180/数学π); } var a=document.getElementById('test')。innerHTML=toD(15);
当您试图访问一个元素(
#test
)时,您需要等待文档加载,然后浏览器才能完全解析HTML-您可以使用,以便在加载文档后运行JS-例如

<html>
    <head>
    </head>
    <body>

    <p id='test'> </p>

    <script>

        function toD(angle) {
          return angle * (180 / Math.PI);
        }
        var a = document.getElementById('test').innerHTML = toD(15);
    </script>


    </body>
</html>

当您试图访问一个元素(
#test
)时,您需要等待文档加载,然后浏览器才能完全解析HTML-您可以使用,以便在加载文档后运行JS-例如

<html>
    <head>
    </head>
    <body>

    <p id='test'> </p>

    <script>

        function toD(angle) {
          return angle * (180 / Math.PI);
        }
        var a = document.getElementById('test').innerHTML = toD(15);
    </script>


    </body>
</html>

因为在运行
document.getElementById('test')
时,DOM对象

尚未呈现。

因为在运行
document.getElementById('test')时
DOM对象

尚未呈现。

将脚本放在页面底部为避免上述问题,也可使用windows.onload-确保在对其进行强制转换之前呈现元素。

将脚本放在页面底部为避免上述问题,还可以使用windows.onload-确保在对元素进行强制转换之前对其进行渲染。

渲染时出现问题 按以下方式更改代码:

window.onload = 

// JS

函数toD(角度){ 返回角*(180/数学π); } var a=document.getElementById('test')。innerHTML=toD(15);
->请阅读网页是如何解析的。您将清楚地知道在页面中的何处编写脚本

->在对对象执行操作之前,应渲染该对象。在代码中,未呈现div,您尝试对其执行操作(即document.getElementById('test')。innerHTML=toD(15);)

呈现中出现问题 按以下方式更改代码:

window.onload = 

// JS

函数toD(角度){ 返回角*(180/数学π); } var a=document.getElementById('test')。innerHTML=toD(15);
->请阅读网页是如何解析的。您将清楚地知道在页面中的何处编写脚本

->在对对象执行操作之前,应渲染该对象。在代码中,未呈现div,您尝试对其执行操作(即document.getElementById('test')。innerHTML=toD(15);)

Mov