Global Variable: functionの外で定義された変数
どのfunctionの中でも使う事ができる。
Local Variable : any variables defined inside of the body of the function.
(global variable)
<script type=#text/javascript">
var fish = "Tuna";
function sea(){
document.write (fish);
}
sea(); // -> fishが出る
document.write (fish);// -> fishが出る
</script>
(local variable)
<script type=#text/javascript">
function sea(){
var fish = "Tuna";
document.write (fish);
}
sea(); // -> fishが出る
document.write (fish);// -> fishは出ない
</script>
----------------------------------------------------------------------
ということは
1. Global Variableを2つの別の関数で使う
<body>
<form name="form1">
<label>num1</label><input class="tb_fmt1" type="text" name="name1" value="2">
<label>num2</label><input class="tb_fmt1" type="text" name="name2" value="3">
<input type="button" onclick="calc1(),calc2()" value="calc1"/> //複数のfunction実行
<label>result1</label><input class="tb_fmt1" type="text" name="result1">
</form>
<form name="form2">
<label>num3</label><input class="tb_fmt1" type="text" name="name3">
<label>num4</label><input class="tb_fmt1" type="text" name="name4">
<input type="button" onclick="calc2()" value="calc2"/>
<label>result2</label><input class="tb_fmt1" type="text" name="result2">
</form>
<script type="text/javascript">
var a = parseFloat(document.form1.name1.value);
var b = parseFloat(document.form1.name2.value);
function calc1(){
var c = a + b;
document.form1.result1.value= c;
}
function calc2(){
var c = a * b;
document.form2.result2.value= c;
}
</script>
<form name="form1">
<label>num1</label><input class="tb_fmt1" type="text" name="name1" value="2">
<label>num2</label><input class="tb_fmt1" type="text" name="name2" value="3">
<input type="button" onclick="calc1(),calc2()" value="calc1"/> //複数のfunction実行
<label>result1</label><input class="tb_fmt1" type="text" name="result1">
</form>
<form name="form2">
<label>num3</label><input class="tb_fmt1" type="text" name="name3">
<label>num4</label><input class="tb_fmt1" type="text" name="name4">
<input type="button" onclick="calc2()" value="calc2"/>
<label>result2</label><input class="tb_fmt1" type="text" name="result2">
</form>
<script type="text/javascript">
var a = parseFloat(document.form1.name1.value);
var b = parseFloat(document.form1.name2.value);
function calc1(){
var c = a + b;
document.form1.result1.value= c;
}
function calc2(){
var c = a * b;
document.form2.result2.value= c;
}
</script>
で、
Calc1の結果 :"5"。 (parseFloatがないと23となる。) Calc2は"6"と表示される。
<Takeaway>
*Functionの中で定義した変数は、別のFunctionの中で同じ名前の変数が定義されていても
そちらに影響を与えない。
-----------------------------------------------------
function calc1(){
var c = a + b;
document.form1.result1.value= c;
}
function calc2(){
var d = c + a;
document.form2.result2.value= d;
}
-----------------------------------------------------
を、実行しても function calc2()の cは未定義 となって結果がでない。
0 件のコメント:
コメントを投稿