Home > タグ > javascript MooTools

javascript MooTools

できるだけMooTools

MooToolsをちょっとづつ解説(勉強)

■Core
$chk(arg) 「引数(arg)が存在するか調べる。」
=>引数
arg:チェック対象のもの
=>返り値
論理値(boolean):argが存在しているか0の場合は真、それ以外はfalse
例)
function myFunction(arg){
//myFunctionという関数の引数argが存在しているor0の場合は「The object exists or is 0」がダイアログで表示される。それ以外は、「The object is either null, undefined, false, or “”.」とダイアログで表示
if($chk(arg)) alert(’The object exists or is 0.’);
else alert(’The object is either null, undefined, false, or “”.’);
}

使用例)
<script type=”text/javascript”>
<!–
function myFunction(arg){
if($chk(arg)) alert(’The object exists or is 0.’);
else alert(’The object is either null, undefined, false, or “”.’);
}

var test0 = new Object();
var test1;
myFunction(test0); //$chkの結果はtrueとなり、「The object exists or is 0.」がダイアログで表示
myFunction(test1); //$chkの結果はfalseとなり。「The object is either null, undefined, false, or “”.」がダイアログで表示
–>
</script>

$clear(timer) 「setInterval(periodical)やsetTimeout(delay)」をクリアする」
=>引数
timer:setInterval(periodical)やsetTimeout(delay)のタイマーID
=>返り値
null
例)
var myTimer = myFunction.delay(5000);
myTimer = $clear(myTimer);
使用例)
<script type=”text/javascript”>
<!–
function myFunction2(){
alert(’こっちは実行されませ~~~ん’);
}
function myFunction3(){
alert(’こちらが実行されました~~~’);
}
var myTimer = myFunction.delay(5000);//5秒後にmyFunctionを実行するが、
myTimer = $clear(myTimer);//上の行で5秒後にmyFunctionを実行すると決めたけど、この行で即座に解除しているので、実際にはmyFunctionは実行されない。
var myTimer2 = myFunction2.delay(5000);//こちらが実行されます。
–>
</script>

$defined(obj) 「引数(obj)が定義されているか調べる」
=>引数
obj:オブジェクト
=>返り値
論理値:objがnullでもundefinedでもなければtrue、それ以外はfalse
例)
function myFunction4(arg){
if($defined(arg)) alert(’引数は定義されております。’);
else alert(’引数はnullかundefinedです。’);
}

使用例)
<script type=”text/javascript”>
<!–
function myFunction4(arg){
if($defined(arg)) alert(’オブジェクトは定義されています。’);
else alert(’オブジェクトは定義されておりません。’);
}

var test = new Object();
myFunction4(test);

var array = new Array();
myFunction4(array);

var strings = ‘今日は晴れ’;
myFunction4(strings);

var numbers = 0;
myFunction4(numbers);

var test2;
myFunction4(test2);
–>
</script>

$arguments(i) 「渡されたインデックスの値を返す関数を作る」
=>引数
i:数字
=>返り値
function:関数の引数から値を返す関数を返す。
例)
var secondArgument = $arguments(1);
alert(secondArgument(’a',’b',’c'));

使用例)
<script type=”text/javascript”>
<!–
var secondArgument = $arguments(1);
alert(secondArgument(’ゼロ’,'イチ’,'ニ’));//ダイアログでイチと出る。
–>
</script>

$empty 「空の関数。たいてい、クラスのイベントメソッドの中のプレースフォルダーとして利用される」
=>引数
な~し!
=>返り値
な~し!
例)
var emptyFn = $empty;

使用例)
<script type=”text/javascript”>
<!–
var emptyFn = $empty; //var empty = function(){} と同義
–>
</script>

$lambda(value) 「何もしない空の関数を定義する。しかし、引数に渡した値を返す。」
=>引数
value:返してもらう値
=>返り値
value:引数で渡された値
例)
myLink.addEvenet(’click’,$lambda(false)); //

使用例)
<script type=”text/javascript”>
<!–
//※準備中
–>
</script>

$extend(original, extended) 「全てのプロパティを第一引数(original)に第二引数(extended)で渡されたオブジェクトをコピーする」
=>引数
original:コピーするオブジェクト
extended:コピーされるオブジェクト
=>返り値
object:第一引数(original)にコピーが完了したオブジェクト
例)
var firstObj = {
‘name’:'John’,
‘lastName’:'Doe’
};

var secondObj = {
‘age’:'20′,
’sex’:'male’,
‘lastName’:'Dorian’
};

$extend(firstObj, secondObj);
使用例)
<script type=”text/javascript”>
<!–
var firstObj = {
‘name’:'John’,
‘lastName’:'Doe’
};

var secondObj = {
‘age’:'20′,
’sex’:'male’,
‘lastName’:'Dorian’
};

$mergeObj = $extend(firstObj, secondObj);
alert($mergeObj['name']);
alert($mergeObj['lastName']);//同名のプロパティは上書きされる。
alert($mergeObj['age']);
alert($mergeObj['age']);
alert($mergeObj['sex']);
–>
</script>

$merge(object) 「何個でもオブジェクトを足す。」
=>引数
object:オブジェクト、複数個ある場合はカンマ(,)で区切る
=>返り値
マージされたオブジェクト
例)
var obj0 = {a:1, b:2};
var obj1 = {c:3, d:4};
var obj2 = {e:5, f:6};
var merged = $merge(obj0,obj1,obj2);

var nestedObj0 = {a: {b:1, c:1}}
var nestedObj1 = {a: {b:2}};
var nested = $merge(nestedObj0, nestedObj1);
使用例)
<script type=”text/javascript”>
<!–
var obj0 = {a:1, b:2};
var obj1 = {c:3, d:4};
var obj2 = {e:5, f:6};
var merged = $merge(obj0,obj1,obj2);

var nestedObj0 = {a: {b:1, c:1}}
var nestedObj1 = {a: {b:2}};
var nested = $merge(nestedObj0, nestedObj1);

alert(merged['a']);
alert(merged['b']);
alert(merged['c']);
alert(merged['d']);
alert(merged['e']);
alert(merged['f']);
alert(nested['a']['b']);//同名のプロパティは上書きされる。
alert(nested['a']['c']);
–>
</script>

$each(iterable, fn [,bind]) 「繰り返し処理」
=>引数
iterable:繰り返し処理をするオブジェクト、配列
fn:それぞれの要素に対して行う関数
bind:thisキーワードを使うためのオブジェクト
=>返り値

例)
配列だと・・・
$each(['Sun'], ['Mon'], ['Tue'],function(day, index){
alert(’name:’ + day + ‘, index:’ + index);
});

オブジェクトだと・・・
$each({first:”Sunday”, second:”Monday”, third:”Tuesday”},{function(value, key){
alert(”The ” + key + ” day of the week is ” + value);
});

使用例)
<script type=”text/javascript”>
<!–
//配列だと・・・
$each(['Sun'], ['Mon'], ['Tue'],function(day, index){
alert(’name:’ + day + ‘, index:’ + index);
});

//オブジェクトだと・・・
$each({first:”Sunday”, second:”Monday”, third:”Tuesday”},{function(value, key){
alert(”The ” + key + ” day of the week is ” + value);
});
–>
</script>

Home > Tags > javascript MooTools

Search
Feeds
Meta

Return to page top