Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数调用行为_Javascript - Fatal编程技术网

Javascript 函数调用行为

Javascript 函数调用行为,javascript,Javascript,在我的测试中,mylog函数被调用了三次,但从源代码来看,我认为应该只执行两次 <html> <div id='log'></div> <script> var Foo = { counter : "inside the Foo object" }; var counter = "Global"; Foo.method = function() { var counter = "inside Foo.method"; mylog

在我的测试中,
mylog
函数被调用了三次,但从源代码来看,我认为应该只执行两次

<html>
<div id='log'></div>
<script>

var Foo = { counter : "inside the Foo object" };
var counter = "Global";

Foo.method = function() {
    var counter = "inside Foo.method";
    mylog("counter = "+this.counter);
    function test() {
        // this is set to the global object
        mylog("counter = "+this.counter);
    }
    test();
}

Foo.method();

function mylog(msg) {
    log = document.getElementById("log");
    log.innerHTML += log.innerHTML + msg + "<br />";
}
</script>
</html>

正如我所预料的那样,
mylog
函数只调用了两次。有人能解释一下为什么会发生这种情况吗?

只需将
+=
行中的
=
更改为
log.innerHTML+=log.innerHTML+msg+“
或保留它并使用
log.innerHTML+=msg+“
”格式

只调用了两次。检查您的
mylog()

函数mylog(msg){
log=document.getElementById(“日志”);
log.innerHTML+=log.innerHTML+msg+“
”; }
任用

log.innerHTML = log.innerHTML + msg + "<br />";
log.innerHTML=log.innerHTML+msg+“
”;

log.innerHTML+=msg+“
”;
这就是原因

log.innerHTML += log.innerHTML + msg + "<br />";
log.innerHTML+=log.innerHTML+msg+“
”;
还可以添加当前的innerHTML,以便复制早期日志。像这样做

log.innerHTML += msg + "<br />";
log.innerHTML+=msg+“
”;

log.innerHTML=log.innerHTML+msg+“
”;
函数被调用了2次,但您在附加log.InnerHTML时出错。添加log.innerHTML两次

工作代码:

function mylog(msg) {
    log = document.getElementById("log");
    log.innerHTML +=  msg + "<br />";
}
函数mylog(msg){
log=document.getElementById(“日志”);
log.innerHTML+=msg+“
”; }

log.innerHTML += log.innerHTML + msg + "<br />";
log.innerHTML += msg + "<br />";
log.innerHTML = log.innerHTML + msg + "<br />";
function mylog(msg) {
    log = document.getElementById("log");
    log.innerHTML +=  msg + "<br />";
}