JavaScript

定義判定

a = "aaa"; if (a){ alert(1); }上記JavaScriptの実行結果は「1」と表示されます。 aは必ずしもtrueでは無い事に注意ですな。a = null; if (a){ alert(1); }上記JavaScriptの実行結果は「なにも表示されません」です!a = ""; if (a){ alert(1); }上記JavaSc…

戻り値が複数

連休になったので久々の更新♪function pos() { return {x: 90, y: 100} }で、var r = pos(); r.x が90になるわけです。楽チン〜

parentElement, parentNode

どっちかが対応しているみたいです。なので、えいっ(n.parentNode||n.parentElement).〜このテキトウさが好き ^m^

ローカル変数

■1: countUp = function(c){ for (i=0; i - 【画面結果】 10 - ■2: countUp = function(c){ for (var i=0; i - 【画面結果】 20 - 罠にはまらないように ^m^

isDef(2)

定義されているかどうかは簡単に調べられるA=function(){}if(A.aaa){ alert("A.aaa()は定義されている"); }else{ alert("A.aaa()は定義されていない"); }ただ、厳密に言うとウソA.aaa=falseの時もある。 なので、ライブラリ用にコードを書くときは使えないが…

function引数の数

何個引数が必要か調べる事ができちゃったりします。 function a(b,c,d){} alert(a.length); 結果→3ただー、やっぱりぱりの罠もあるわけで。IE7とFF2とOP9で以下を比較してやってみてください。el = document.createElement("div"); alert(el.appendChild.len…

ガジェット - windows vista

最初から入ってたのを除き、ブラウザでダウンロードして インストールしたガジェットは以下のフォルダに入ってるみたい。 C:\Users\ユーザー名\AppData\Local\Microsoft\Windows Sidebar\Gadgets基本的にjsファイルなので、自分で自由にカスタマイズできる …

isFunc(改)

isFunc=function(f){ var s=typeof f; if(s=="undefined"){return false} if(f==null){return false} return typeof s=="function" }

代入いろいろ

a=1; var a=b=1; var a=1,b=1;

スコープ

今週は忙しかったので・・・ということで、久々JSに。a=function(){ b=1; } a(); alert(b);結果は「1」が出力されます。 a=function(){ var b=1; } a(); alert(b); これはエラーです(bは定義されていません) つまり、varには意味があります。 省略するかし…

スコープ

a=true; if(a){ b=1; }else{ b=2; } alert(b); 結果は 1となります。 これを利用しない手はありません ^−^

クラス

2月ですなー。 今日は少し暖かくなって眠気と戦いつつな日でした。Ev = function(){ ... }でクラスが定義できるそうですな。ev = new Ev();おー。 Javaでいうインスタンスメソッドや変数の定義もEv = function(){ this.down=function(){ } this.x=0; }でdow…

フォーカスの移動

document.FormName.InputTextName.focus();でフォーカスが移動しますが、動的にフォーカス先を変更できないのでーdocument[FormName][InputTextName].focus();こちらのほうだと、動的に決定できます ^-^

関数のデフォルト値

fu=function(d1){ var arg1 = d1 || "default value"; alert(arg1); } fu(); 結果→ default value fu("A"); 結果→ A こんな選択的な代入もあるんですね〜 こんなケースでifと書くとむしろかっこ悪いと思うようになるかも しれませんね。

配列へ代入

a = []; として、 a[1]="one"; と、配列の大きさを宣言しなくても、配列に値をいれると 勝手に配列が長くなり、 a["five"] = 5; 連想配列としても使え、 a.seven = 7; と a["seven"] = 7; は同等の意味だったり、 書き方いろいろ選べます ^-^

配列の生成

var a=new Array(); と var a=[]; が一緒の意味でした。isArray(a) → true最初は見て驚いたもんで〜 今じゃ当然のごとくですが ^-^;

isArray

isArray=function(a){ return a instanceof Array }判定の仕方も様々ですね〜

isDef

isDef=function(a){ return a!=undefined }ただし、制約がある。 "事前にvar で指定の変数を宣言している事"var mada; re = isDef(mada);結果→ re は false宣言してるかしてないかに関しての判断は、その場その場で typeof obj!="undefined"で判定する事。 …

isObj

isObj=function(a){ return a!=null&&typeof a=="object" }typeof null がobjectになる。

isFunc

isFunc=function(a){ return typeof a=="function" }

isNum

isNum=function(a){ return typeof a=="number" };というか、(typeof a)=="・・・" と書かなくても良い所に気づく (^v^)

isBool

isBool=function(a){ return typeof a=="boolean" };

isStr

isStr=function(a){ return typeof a=="string" };