関数とクラス

関数

関数(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>");

↓実行結果

メソッド定義がなんとなく、はぁ?ですが、こんな感じらしいです。