JavaScript结果未显示在同一页面中 函数结果() { 变量a、b、c; a=10; b=20; c=a+b; 文件写入(“a+b的结果为”+c); }

JavaScript结果未显示在同一页面中 函数结果() { 变量a、b、c; a=10; b=20; c=a+b; 文件写入(“a+b的结果为”+c); },javascript,innerhtml,Javascript,Innerhtml,我是JavaScript新手,正在一步一步地学习。我试过上面的例子,它的工作很好,但点击按钮后,结果并没有显示在同一个窗口 我应该使用innerHTML吗?但我怎么能用我不知道。使用innerHTML有利于编程吗?如果是为了调试,请使用console.log(value),否则,可以将值保存在innerHTML中 function result() { var a, b, c; a = 10; b = 20; c = a+b; document.write

我是JavaScript新手,正在一步一步地学习。我试过上面的例子,它的工作很好,但点击按钮后,结果并没有显示在同一个窗口


我应该使用innerHTML吗?但我怎么能用我不知道。使用innerHTML有利于编程吗?

如果是为了调试,请使用
console.log(value)
,否则,可以将值保存在
innerHTML

function result()
{
    var a, b, c;
    a = 10;
    b = 20;
    c = a+b;
    document.write("The result of a+b is" + c);
}

<input type="button" value="Result" onclick=result();>
使用
innerHTML
属性:

console.log("The result of a+b is" + c);
alert("The result of a+b is" + c); // For very old  browsers.
试试这个代码

document.getElementById('{id}').innerHTML = "The result of a+b is" + c;
必须在页面完成加载之前调用任何document.write(),否则它将打开一个新页面(请参阅以获取帮助),所以这可能是您的问题

你可能想做一些类似的事情

function result()
{
    var a, b, c;
    a = 10;
    b = 20;
    c = a+b;
    console.log("The result of a+b is" + c);
}

这将在不覆盖整个文档的情况下将结果写入单独的元素中:

function result()
{
    var a, b, c;
    a = 10;
    b = 20;
    c = a+b;
    var content = document.getElementById('result_div').innerHTML; 
    content += "The result is ..." ;
}

函数结果()
{
变量a、b、c;
a=10;
b=20;
c=a+b;
var result=document.getElementById(“结果”);
result.innerHTML=“a+b的结果是”+c;
}
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

请参见更改方法结果:

<script type="text/javascript">

    function result()
    {
        var a, b, c;
        a = 10;
        b = 20;
        c = a+b;
        var result = document.getElementById("result");
        result.innerHTML = "The result of a+b is" + c;    
    }

</script>

<input type="button" value="Result" onclick=result();>
​<div id="result"></div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
然后在主体中放入一个带有id结果的div:

function result()
{
var a, b, c;
a = 10;
b = 20;
c = a+b;
document.getElementById('result').innerHTML="The result of a+b is" + c;
}

document.write始终启动新页面,除非当前正在加载一个页面。当前网页加载完任何文档后,write语句将写入下一个要显示的网页,而不是当前网页,因为该网页已被写入

使用如下DOM方法:

<div id="result"></div>

函数结果()
{
变量a、b、c;
a=10;
b=20;
c=a+b;
document.getElementById('foo').innerHTML=“a+b的结果是”+c;
返回错误
}
试试看


这样,您就不需要创建额外的节点来保存结果数据。

如果您想在其他点而不是在末尾添加文本,那么在页面中创建一个元素&将result的值附加到该元素的innerHTML中。
<script type="text/javascript">

    function result()
    {
        var a, b, c;
        a = 10;
        b = 20;
        c = a+b;
        document.getElementById('foo').innerHTML = "The result of a+b is" + c;
        return false
    }

</script>
<span id="foo"></span>
<input type="button" value="Result" onclick="return result();">
function result()
{
    var a, b, c;
    a = 10;
    b = 20;
    c = a+b;
    var result = "The result of a+b is" + c;
    document.body.appendChild(document.createTextNode(result));
    document.body.appendChild(document.createElement("br"));
}