Javascript函数没有访问全局作用域?
我想创建一个简单的输入字段,它接受输入的值来计算三角形的面积,我注意到我的函数中有一些东西。 我注意到由于某种原因,我的函数无法访问在全局范围内创建的变量。像这样:Javascript函数没有访问全局作用域?,javascript,function,Javascript,Function,我想创建一个简单的输入字段,它接受输入的值来计算三角形的面积,我注意到我的函数中有一些东西。 我注意到由于某种原因,我的函数无法访问在全局范围内创建的变量。像这样: <!DOCTYPE html> <html> <head> <title></title> </head> <body> input 1: <input type="input" placeholder="Side a" id="si
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
input 1: <input type="input" placeholder="Side a" id="sideA"> <br>
input 2: <input type="input" placeholder="Side b" id="sideB"><br>
input 3: <input type="input" placeholder="Side c" id="sideC"><br>
<button onclick=" AreaResults()"> Calculate</button>
<p id="P_result">
The area of the triangle is:
</p>
<script >
var side_a = document.getElementById("sideA").value;
var side_b = document.getElementById("sideB").value;
var side_c = document.getElementById("sideC").value;
var Allsides = side_c + side_b + side_a;
var perimeter = Allsides/2;
var area = Math.sqrt(( perimeter*(perimeter-side_a)*(perimeter-side_b)*(perimeter-side_c)));
function AreaResults(){
var resultsInput = document.getElementById("P_result");
resultsInput.append(area);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
input 1: <input type="input" placeholder="Side a" id="sideA"> <br>
input 2: <input type="input" placeholder="Side b" id="sideB"><br>
input 3: <input type="input" placeholder="Side c" id="sideC"><br>
<button onclick=" AreaResults()"> Calculate</button>
<p id="P_result">
The area of the triangle is:
</p>
<script >
function AreaResults(){
var side_a = document.getElementById("sideA").value;
var side_b = document.getElementById("sideB").value;
var side_c = document.getElementById("sideC").value;
var Allsides = side_c + side_b + side_a;
var perimeter = Allsides/2;
var area = Math.sqrt(( perimeter*(perimeter-side_a)*(perimeter-side_b)*(perimeter-side_c)));
var resultsInput = document.getElementById("P_result");
resultsInput.append(area);
}
</script>
</body>
</html>
输入1:
输入2:
输入3:
算计
三角形的面积为:
var side_a=document.getElementById(“sideA”).value;
var side_b=document.getElementById(“sideB”).value;
var side_c=document.getElementById(“sideC”).value;
var Allsides=c侧+b侧+a侧;
var周长=所有侧面/2;
var面积=数学sqrt((周长*(周长侧边_a)*(周长侧边_b)*(周长侧边_c));
功能区结果(){
var resultinput=document.getElementById(“P_结果”);
结果输入。追加(面积);
}
将它们移动到如下功能中后:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
input 1: <input type="input" placeholder="Side a" id="sideA"> <br>
input 2: <input type="input" placeholder="Side b" id="sideB"><br>
input 3: <input type="input" placeholder="Side c" id="sideC"><br>
<button onclick=" AreaResults()"> Calculate</button>
<p id="P_result">
The area of the triangle is:
</p>
<script >
var side_a = document.getElementById("sideA").value;
var side_b = document.getElementById("sideB").value;
var side_c = document.getElementById("sideC").value;
var Allsides = side_c + side_b + side_a;
var perimeter = Allsides/2;
var area = Math.sqrt(( perimeter*(perimeter-side_a)*(perimeter-side_b)*(perimeter-side_c)));
function AreaResults(){
var resultsInput = document.getElementById("P_result");
resultsInput.append(area);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
input 1: <input type="input" placeholder="Side a" id="sideA"> <br>
input 2: <input type="input" placeholder="Side b" id="sideB"><br>
input 3: <input type="input" placeholder="Side c" id="sideC"><br>
<button onclick=" AreaResults()"> Calculate</button>
<p id="P_result">
The area of the triangle is:
</p>
<script >
function AreaResults(){
var side_a = document.getElementById("sideA").value;
var side_b = document.getElementById("sideB").value;
var side_c = document.getElementById("sideC").value;
var Allsides = side_c + side_b + side_a;
var perimeter = Allsides/2;
var area = Math.sqrt(( perimeter*(perimeter-side_a)*(perimeter-side_b)*(perimeter-side_c)));
var resultsInput = document.getElementById("P_result");
resultsInput.append(area);
}
</script>
</body>
</html>
输入1:
输入2:
输入3:
算计
三角形的面积为:
功能区结果(){
var side_a=document.getElementById(“sideA”).value;
var side_b=document.getElementById(“sideB”).value;
var side_c=document.getElementById(“sideC”).value;
var Allsides=c侧+b侧+a侧;
var周长=所有侧面/2;
var面积=数学sqrt((周长*(周长侧边_a)*(周长侧边_b)*(周长侧边_c));
var resultinput=document.getElementById(“P_结果”);
结果输入。追加(面积);
}
一切正常。
我不明白,因为我认为函数可以访问全局范围内的所有变量您正在访问变量
但是,您可以在用户键入任何内容之前(加载页面时)设置它们,因此它们是空的。您可以访问变量
但是,在用户键入任何内容之前(加载页面时)设置它们,因此它们是空的。您如何知道您无法访问它们?除非在函数中写入代码,否则代码不起作用。您如何知道您无法访问它们?除非在函数中写入代码,否则代码不起作用