Javascript 功能问题
我是新手。我正在做计算三角形面积的练习,但我有困难。当我运行程序进行计算时,错误显示。解决方案始终显示0。这是我的密码Javascript 功能问题,javascript,Javascript,我是新手。我正在做计算三角形面积的练习,但我有困难。当我运行程序进行计算时,错误显示。解决方案始终显示0。这是我的密码 <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Square Triangle</title>
</head>
<body>
<p id="solution"></p>
<input type="text" name="number1" id="number1" placeholder="Enter first value" />
<input type="text" name="number2" id="number2" placeholder="Enter second value" />
<input type="text" name="number3" id="number3" placeholder="Enter third value" />
<input type="button" value="Click to calc" onclick="calculateTriangleSquare()"/>
<script>
const a = document.getElementById("number1").value;
const b = document.getElementById("number2").value;
const c = document.getElementById("number3").value;
function calculateTriangleSquare() {
let p = (a + b + c) / 2;
let S = Math.sqrt(p*(p-a)*(p-b)*(p-c));
document.getElementById("solution").innerHTML = S;
}
</script>
</body>
</html>
直角三角形
常量a=document.getElementById(“number1”).value;
常量b=document.getElementById(“number2”).value;
const c=document.getElementById(“number3”).value;
函数calculaterAngleSquare(){
设p=(a+b+c)/2;
设S=数学sqrt(p*(p-a)*(p-b)*(p-c));
document.getElementById(“解决方案”).innerHTML=S;
}
如何修复它。请帮帮我。非常感谢你。
对不起我的英语。你有两个错误
p
将等于'000'/2=0
函数calculateTriangleSquare(){
常量a=parseInt(document.getElementById(“number1”).value,10);
const b=parseInt(document.getElementById(“number2”).value,10);
const c=parseInt(document.getElementById(“number3”).value,10);
设p=(a+b+c)/2;
设S=Math.sqrt(p*(p-a)*(p-b)*(p-c));
document.getElementById(“解决方案”).innerHTML=S;
}
问题在于,当页面完成加载时,您会从输入中获取值。在其中任何一个中输入值后,a、b和c的值都不会更新。您应该从calculateTriangleSquare函数的输入中获取值,并将其解析为数字:
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Square Triangle</title>
</head>
<body>
<p id="solution"></p>
<input type="text" name="number1" id="number1" placeholder="Enter first value" />
<input type="text" name="number2" id="number2" placeholder="Enter second value" />
<input type="text" name="number3" id="number3" placeholder="Enter third value" />
<input type="button" value="Click to calc" onclick="calculateTriangleSquare()" />
<script>
const aInput = document.getElementById('number1');
const bInput = document.getElementById('number2');
const cInput = document.getElementById('number3');
function calculateTriangleSquare() {
const [a, b, c] = [aInput, bInput, cInput].map((el) => +el.value);
const p = (a + b + c) / 2;
const S = Math.sqrt(p * (p - a) * (p - b) * (p - c));
document.getElementById('solution').innerHTML = S;
}
</script>
</body>
</html>
直角三角形
const aInput=document.getElementById('number1');
const bInput=document.getElementById('number2');
const cInput=document.getElementById('number3');
函数calculaterAngleSquare(){
常数[a,b,c]=[aInput,bInput,cInput].map((el)=>+el.value);
常数p=(a+b+c)/2;
常数S=数学sqrt(p*(p-a)*(p-b)*(p-c));
document.getElementById('solution').innerHTML=S;
}
您的代码有一些小问题,但我会向您解释
直角三角形
函数calculaterAngleSquare(){
设a=document.getElementById(“number1”).value;
设b=document.getElementById(“number2”).value;
设c=document.getElementById(“number3”).value;
设p=(a+b+c)/2;
设S=数学sqrt(p*(p-a)*(p-b)*(p-c));
document.getElementById(“解决方案”).innerHTML=S;
}
在进行计算时尝试输出值,也可以使用console.log检查WOW。我明白了。非常感谢你,你太棒了!谢谢你支持我解决我的问题!