计算三角形面积 - 作为 vars 但不作为函数包装
Count triangle area - working as vars but not wrapped as a function
一个菜鸟问题。我正在玩 http://www.w3resource.com/javascript-exercises/javascript-basic-exercises.php#EDITOR javascript 练习。练习题 4. 计算三角形的面积。
为什么这有效:
var a = 5;
var b = 6;
var c = 7;
var p = (a+b+c) / 2;
var p1 = (p * (p-a)*(p-b)*(p-c));
var poleA = Math.sqrt(p1);
console.log(poleA);
而这并没有(控制台给出错误):
function () {
var a = 5;
var b = 6;
var c = 7;
var p = (a+b+c) / 2;
var p1 = (p * (p-a)*(p-b)*(p-c));
var poleA = Math.sqrt(p1);
}
console.log(poleA);
可能是因为 poleA
是在函数内部声明的(在第二种情况下)并且它不存在于 window
命名空间中。
尝试从 poleA
中删除 var
,这样它将成为一个全局变量,从而可以在方法范围之外访问。
一个菜鸟问题。我正在玩 http://www.w3resource.com/javascript-exercises/javascript-basic-exercises.php#EDITOR javascript 练习。练习题 4. 计算三角形的面积。
为什么这有效:
var a = 5;
var b = 6;
var c = 7;
var p = (a+b+c) / 2;
var p1 = (p * (p-a)*(p-b)*(p-c));
var poleA = Math.sqrt(p1);
console.log(poleA);
而这并没有(控制台给出错误):
function () {
var a = 5;
var b = 6;
var c = 7;
var p = (a+b+c) / 2;
var p1 = (p * (p-a)*(p-b)*(p-c));
var poleA = Math.sqrt(p1);
}
console.log(poleA);
可能是因为 poleA
是在函数内部声明的(在第二种情况下)并且它不存在于 window
命名空间中。
尝试从 poleA
中删除 var
,这样它将成为一个全局变量,从而可以在方法范围之外访问。