查找变量-Javascript
我是一名Javascript大学的初学者,对于下面问题的一部分,我很难找到答案 跟踪以下JavaScript代码,并编写 变量(查找变量-Javascript,javascript,Javascript,我是一名Javascript大学的初学者,对于下面问题的一部分,我很难找到答案 跟踪以下JavaScript代码,并编写 变量(x,y,z,w)。展示你的作品 function hot(a, b, c) { if (a == b) { return (c + b); } else if (a > b) { return (c + c); } else { return cold(b); } } function cold(a) { v
x
,y
,z
,w
)。展示你的作品
function hot(a, b, c) {
if (a == b) {
return (c + b);
}
else if (a > b) {
return (c + c);
}
else {
return cold(b);
}
}
function cold(a) {
var ans = a;
for (var i = 0; i < 3; i++) {
ans = ans + a;
}
return ans;
}
var x = 10;
var y = 3;
x = x + 8;
var z = hot(x, y, x);
var w = 2;
w = hot(w, z, x);
y = y + “5”;
功能热(a、b、c){
如果(a==b){
返回(c+b);
}
否则,如果(a>b){
返回(c+c);
}
否则{
复冷(b);
}
}
功能冷(a){
var ans=a;
对于(变量i=0;i<3;i++){
ans=ans+a;
}
返回ans;
}
var x=10;
变量y=3;
x=x+8;
var z=热(x,y,x);
var w=2;
w=热(w,z,x);
y=y+“5”;
我计算出x=18
,y=“35”
,z=36
W是困扰我的问题我知道它
=144
,我只是不知道如何解决。如果有人能解释一下当它运行cold函数时会发生什么。当cold函数运行时,它需要
a
,将其分配给变量ans
,然后启动for
循环,该循环在0时运行,您将得到x=10+8=18。
然后您将得到z=hot(18,3,18)
所以z会变成36,因为a是18,b是3
因此它返回c+c
,即18+18=36
进一步w=hot(2,36,18)
这里a不等于c,a也不大于b。所以它进入冷态(b),也就是冷态(36)
此处ans=36
它将进入for循环3次
因此ans=a+ans
由于ans已经是36,您将再添加36次,使其达到144次在浏览器中打开JS控制台,并在代码中放置断点。逐行查看变量值的变化。或者更确切地说,在hot(w,z,x)
调用中放置一个断点,然后重复按Step into。感谢您详细解释,我理解我的错误所在。感谢您解释这是一个细节,我真的需要有人来分解它。
cold(2)
var ans = 2;
i = 0, 0 < 3, therefore ans = 2 + 2
i = 1, 1 < 3, therefore ans = 2 + 2 + 2
i = 2, 2 < 3, therefore ans = 2 + 2 + 2 + 2
i = 3, 3 = 3, therefore loop ends
2 + 2 + 2 + 2 = 4(2)