フリーエンジニアである下っ端SEの備忘録と日記。日々是精進。 開発言語は主にC#。 開発技術が日々進化し続けている今日、取り残されまいとするも歳のせいか覚えが悪いSE。 ほったらかしですいません。

2009年08月20日

【Web】JavaScriptのオーバーロード

Web開発開発にまだ慣れてない頃、
C#やJavaの感覚でコーディングしたら
思ったとおり動かなくて。

function Test (arg1)
{
 処理1
}

function Test (arg1,arg2)
{
 処理2
}

function form_Load()
{
 Test (arg1);
 Test (arg1,arg2);
}
としたら、処理1が2回実行されてしまう。
arg2はとりあえず無視されるらしい。


つまり
JavaScriptではオーバーロードはできない。

手っ取り早いのは
メソッド名(ファンクション名?)を違うものにする。(雑っ!)

もっとちゃんとする場合
オーバーロードちっくにコーディングする。

JavaScriptにはargumentsというオブジェクトがあって、
これで関数に渡された引数の数をチェックできるのでそれを利用して、

function Test (arg1,arg2)
{
 if (arguments.length == 1)
 {
  //引数が1つの場合
  処理1
 }
 else if (arguments.length == 2)
 {
  //引数が2つの場合
  処理2
 }
}

これだと、引数をもう1つ増やしたいと思ったら、

function Test (arg1,arg2,arg3)

と修正して、引数が3つの場合の処理を加え、

function form_Load()
{
 Test (arg1);
 Test (arg1,arg2);
 Test (arg1,arg2,arg3); ←これを追加
}

とすれば、処理1~処理3が実行される。

理屈はわかったので
あとは開発者の好みで美しいコーディングすればよいと。

@ITへのリンク


この記事がお役に立ったようでしたらぜひクリックお願いしますm(_ _)m
ブログランキング


同じカテゴリー(JavaScript)の記事画像
【JavaScript】不正な数値かチェックする
【Web】JavaScript 半角数字のみ入力させる
同じカテゴリー(JavaScript)の記事
 【JavaScript】0埋めしたい 数値の0パディング (2010-02-10 16:25)
 JavaScriptのonchange (2009-11-17 09:00)
 【JavaScript】不正な数値かチェックする (2009-10-05 09:00)
 【Web】JavaScript 半角数字のみ入力させる (2009-09-14 09:00)

Posted by ようすけ at 09:00│Comments(0)JavaScript
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。