☆☆ 新着記事 ☆☆

2018年6月24日日曜日

Javascript: Variables


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>

で、
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 件のコメント:

コメントを投稿