当调用'斜边'函数时,'x'的值从1变为1.修正它以使'x'在全局范围内仍为1。
var x = 1;
var y = 1;
function hypotenuse(a , b) {
var cSquared = a * a + b * b;
x = Math.sqrt(cSquared);
return x;
}
hypotenuse(x, y);
答案 0 :(得分:3)
要实现这一点,您需要做的就是使用函数中的var
重新声明x变量。这将在函数范围内声明x
变量,保持原始的,全局范围的x
变量不变:
var x = 1;
var y = 1;
function hypotenuse(a , b) {
var cSquared = a * a + b * b,
x = Math.sqrt(cSquared);
return x;
}
hypotenuse(x, y);
或者,使用您最初采用的代码样式(拆分var
声明):
var x = 1;
var y = 1;
function hypotenuse(a , b) {
var cSquared = a * a + b * b;
var x = Math.sqrt(cSquared);
return x;
}
hypotenuse(x, y);
有关此处发生的事情的详细信息,请阅读 javascript范围
答案 1 :(得分:1)
试试这个:
var x = 1;
var y = 1;
function hypotenuse(a, b) {
var cSquared = a * a + b * b;
var x = Math.sqrt(cSquared);
return x;
}
//console.log(hypotenuse(x, y));
//console.log('x = ' + x);