関数とクラス
関数
関数(function)は
function(prm1,prm2...)
のように宣言します。
↓ソース
function func1()
{
document.write("Test:","<br>");
}
function func1(prm)
{
document.write("Test:",prm,"<br>");
}
func1();
func1("ぱらめーた");
↓実行結果
実行結果を見てください。
呼ばれた関数は両方とも func(prm) の方です。
上の例は関数を引数の違いでオーバーロードしてるわけではなく、
単純に関数定義の上書きをしているだけです
(まぎわらしいのでやってはいけません)。
「型に対する制限が緩い」という真言を再び心に刻みましょう。
クラス
クラスはコンストラクタ関数を使って、以下のように作成します
↓ソース
function MyClass(prm1,prm2)
{
this.prm1 = prm1;
this.prm2 = prm2;
this.method = myClassMethod; //()はないよ
}
function myClassMethod()
{
return ("メソッドだべ");
}
var obj = new MyClass("abc",1);
document.write(obj.prm1,"<br>");
document.write(obj.prm2,"<br>");
document.write(obj.method(),"<br>");
↓実行結果
メソッド定義がなんとなく、はぁ?ですが、こんな感じらしいです。