繁体   English   中英

需要帮助了解JavaScript脚本

[英]Need Help Understanding JavaScript script

我对JavaScript还是很陌生,我想了解这个特定脚本的流程(这是教科书中的一个示例)。

var clunkCounter = 0;
thingamajig(5);
console.log(clunkCounter);


function clunk(times){
 var num = times; 
 while (num > 0){
     display("clunk");
     num = num - 1; 
 }
}

function thingamajig(size){
 var facky = 1;
 clunkCounter = 0;
 if (size == 0){
    display("clank");
}
else if (size ==1){
    display("thunk");
}
else{
    while (size > 1){
        facky = facky * size; 
        size = size - 1; 
    }
    clunk(facky); 
 }
}

function display(output){
 console.log(output);
 clunkCounter = clunkCounter + 1;
}

我知道这组特定的函数调用的结果是字符串“ clunk”应输出到控制台120次,然后值120应该输出到控制台。

我的问题是-为什么声明全局变量clunkCounter并将其值设置为0,而只在thingamajig函数中执行相同的操作? 这不是多余的吗? 我知道如果var clunckCounter = 0; 语句不存在,将达到相同的效果(无需在thingamajig函数中使用“ var”关键字声明clunkCounter,它变为全局变量而不是局部变量)。 我对这个假设是否正确?

似乎作者希望每次调用thingamajig都会将clunkCounter重置为0因为displaythingamajig调用)会修改计数器。

clunkCounter原始声明的clunkCounter是使其成为全局clunkCounter ,并且初始化是多余的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM