Jintrick.netagenda2001年08月アーカイブ → 2001年08月26日

文法チェック

要素ごとに属性や子要素に制限があるので、各要素それぞれの文法チェック用関数を作ることに。リファレンスを書く以上に大変だということが分かったものの、それ以上に面白いのでどうでもいい。

要素名の連想配列から関数を呼び出す方法を考えてみた。オブジェクト指向プログラム言語としてのJavaScriptが参考になった。とはいっても、オブジェクト指向(クラスや継承)というもののメリットはさっぱり分からないのだけど。何か、余程複雑なことをする時に必要なのだろうか。それはともかくとして。

var Check = new Object();
Check.P = function(){ …… }
Check.H1 = function(){ …… }
Check.BLOCKQUOTE = function(){ …… }
………………………

for(var i in Check){
 if(tag_name == i){
  Check[i]();
  break;
 }
}

tag_name(タグ名)が、Checkオブジェクトのメンバ名とかぶったら、その関数を実行(というか、メソッド名とかぶったらそのメソッドを実行)。Check.i()としてしまうとiを引数として扱ってくれないので、Check[i]()とする必要があった。でもこんな書き方して良いのだろうか。まあいいや。出来てるんだし。こういうのは書いておかないと絶対に後で意味不明になる。


webmaster@jintrick.net
公開: 2001年08月26日
カテゴリ: