-1

一个菜鸟问题。我正在玩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);
4

1 回答 1

0

这可能是因为poleA在函数内部声明(在第二种情况下)并且它不存在于window命名空间中。

尝试从中删除varpoleA这样它将成为一个全局变量,因此可以在方法范围之外访问。

于 2015-02-20T11:40:56.360 回答