開発環境
- OS X Lion - Apple(OS)
- Safari (Webプラウザ)
- TextWrangler(Text Editor) (BBEditの無料、light版)
- Script言語:JavaScript
- JavaScript Library: jQuery
独習JavaScript 高橋 和也 (著), 竹添 直樹 (著), 里見 知宏 (著) の第7章(オブジェクト指向プログラミング)7.6(スコープと名前空間)理解度チェック4を解いてみる。
その他参考書籍
- JavaScript 第5版 David Flanagan (著), 村上 列 (翻訳)
- JavaScriptクイックリファレンス David Flanagan (著), 木下 哲也 (翻訳), 福龍興業 (翻訳)
4.
コード(TextWrangler)
var jp;
if(!jp){
jp = {};
}
if(!jp.learnyourself){
jp.learnyourself = {};
}
jp.learnyourself.AbstractStringSplitter = function(str,splitter){
if(!str){
throw new Error("文字列が指定されていません。");
}
this.str = str;
this.splitter = splitter;
this.array = this.getArray();
this.i = -1;
}
jp.learnyourself.AbstractStringSplitter.prototype.getArray = function(){
return this.str.split(this.splitter);
};
jp.learnyourself.AbstractStringSplitter.prototype.getNext = function(){
this.i += 1;
if(this.i == this.array.length){
this.i = 0;
return this.array[this.i];
}
return this.array[this.i];
};
jp.learnyourself.CommaStringSplitter = function(str){
jp.learnyourself.AbstractStringSplitter.apply(this,[str,","]);
};
jp.learnyourself.CommaStringSplitter.prototype = new jp.learnyourself.AbstractStringSplitter("tmp","");
delete jp.learnyourself.CommaStringSplitter.prototype.str;
delete jp.learnyourself.CommaStringSplitter.prototype.splitter;
delete jp.learnyourself.CommaStringSplitter.prototype.array;
delete jp.learnyourself.CommaStringSplitter.prototype.i;
jp.learnyourself.CommaStringSplitter.prototype.constructor = jp.learnyourself.CommaStringSplitter;
jp.learnyourself.SlashStringSplitter = function(str){
jp.learnyourself.AbstractStringSplitter.apply(this,[str,"/"]);
};
jp.learnyourself.SlashStringSplitter.prototype = new jp.learnyourself.AbstractStringSplitter("tmp","");
delete jp.learnyourself.SlashStringSplitter.prototype.str;
delete jp.learnyourself.SlashStringSplitter.prototype.splitter;
delete jp.learnyourself.SlashStringSplitter.prototype.array;
delete jp.learnyourself.SlashStringSplitter.prototype.i;
jp.learnyourself.SlashStringSplitter.prototype.constructor = jp.learnyourself.SlashStringSplitter;
var str = $('#t0').val();
var css = new jp.learnyourself.CommaStringSplitter(str);
var sss = new jp.learnyourself.SlashStringSplitter(str);
var splitters = [css,sss];
var result = "";
for(var i = 0 ; i < splitters.length ; i++){
var array = splitters[i].getArray();
for(var j = 0 ; j < array.length ; j++){
result += j + ": " + array[j] + "<br >";
}
for(var k = 0 ; k < array.length * 2 ; k++ ){
result += splitters[i].getNext() + "<br />";
}
}
$('#pre0').html(result);
5.
外部ファイルに保存してHTMLから利用できるようにするには、
<script src="パス/外部ファイル名.js"><script&gr;
とHTMLに記述すればいい。
0 コメント:
コメントを投稿