プロが教える店舗&オフィスのセキュリティ対策術

Javascriptで適正体重、美容体重、モデル体重を計算するプログラムを作りたいのですが、どういうプログラムで動くのでしょうか?
<!DOCTYPE html>
<html lang ="ja">
<head>
<meta charset ="utf-8">
<h3>適正体重・美容体重・モデル体重</h3>
<script>
var sintyou=0;
var tekisei=sintyou**2*22;
var biyou=sintyou**2*20;
var model=sintyou**2*18;
sintyou=paseInt(window.prompt("身長",""));
document.write("適正体重="+ tekisei +"美容体重="+ biyou +"モデル体重="+ model +"<br>");
</script>
</head>
<body>
</body>
</html>

ここまではできていて、動かしてみると、”<h3>適正体重・美容体重・モデル体重</h3>”しかでてこないのです。

適正体重 = (身長m)2 × 22
美容体重 = (身長m)2 × 20
モデル体重 = (身長m)2 × 18

計算式はこれです。助けてください。

A 回答 (2件)

こんにちは



>(身長m)2 × 20
などの2はべき乗計算ですよね?
これがエラーになっているかはわかりませんが、演算子を「**」とした場合、解釈できないブラウザがありますので、今のところはMath.pow()を利用するか、2乗なら乗算で計算しておいた方が確実だと思います。
https://developer.mozilla.org/ja/docs/Web/JavaSc …

また、
>paseInt(~~~)

 parseInt(~~~)
のタイポと推測しますので、修正をしてください。

上記を修正すれば、一応動作すると思います。


>”<h3>適正体重・美容体重・モデル体重</h3>”しかでてこないのです。
スクリプトはエラーが発生すると、そこで一旦終了してしまいますので、上記の部分がエラーとなっているとdocument.writeは実行されないため、何も起こらないように見えるのでしょう。


想像するところ、上記を修正しても意図したとおりの動作にはならないと思います。
それを修正するには、計算の順序等をもう一度確認してみればわかると思います。

また、直接は関係ありませんが、「document.write()」はなるべく使用しない方がよろしいかと。
    • good
    • 0

計算根拠があっているならこうしてみて下さい



<script>
window.onload=function(){
var sintyou=parseInt(prompt("身長",""));
var tekisei=sintyou**2*22;
var biyou=sintyou**2*20;
var model=sintyou**2*18;
document.querySelector('#kekka').innerHTML="適正体重="+ tekisei +"美容体重="+ biyou +"モデル体重="+ model +"<br>";
}
</script>
<h3>適正体重・美容体重・モデル体重</h3>
<div id="kekka"></div>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!