Javascript

【Javascript】iPhoneのSafariで保持しているクッキーを閲覧する方法。

めも。

ブックマークレットをお気に入りリストに追加して実行すればOK。

下記のコードをSafariのブックマークに追加しクッキー情報を閲覧したいページで開くと、ポップアップで内容が表示される。

javascript:alert(document.cookie);

やってることは至って単純。アラートでクッキー吐かせてるだけというシンプルさ。たしかにこうすれば見れるわ。

 

【jQuery】$.inArray()メソッドのめも。

いい加減引数の順番覚えろって感じだけど一応めも。

$.inArray(needle, haystack)

返り値はhaystack中にneedleが見つかればそのインデックス番号を返却。みつからなければ「-1」が返る。

var arr = ['hoge', 'piyo', 'fuga'];

if($.inArray('hoge', arr) !== -1) {
	// 存在していた場合の処理
}

 

【読了】パーフェクトJavaScript。

とてもボリューミーすぎて、まとめてアウトプットすることはちょっと難しい。
読み進めながら適宜自分用にエントリーを作成してきたけど、JSを書く際には手放せない1冊になりそう。

基本的な言語仕様、イディオムからかなりマニアックな根底の動作解説まで幅広く触れられていてかなり面白い内容だった。

もちろん知識としてとてもためになる内容で読んでいてとても楽しかったが、個人的に一番おもしろかったのは書籍末尾の「おわりに」かもしれない。
Javascriptを取り巻く環境の変化がいかに激しいか、なぜこんなにも光を浴びるようになったのか、そしてこれからのJavascriptに関しての見解は、今後のJSに対する学習モチベーションを大いに高めてくれた。

非常におすすめできる1冊である。

 

【Javascript】ページをサーバーリロードする。

めも。

// キャッシュを破棄しサーバーからリロードする
location.reload(true);

// キャッシュからリロードする
location.reload(fasle);

 

【Javascript】ネストされたループをbreakする。

PHPだとbreak 2;とかで一気に抜けられるけど、Javascriptではラベルを用いるらしい。

以下例。

loop1:
for(var i = 0; i < 10; i++) {
	loop2:
	for(var j = 0; j < 10; j++) {
		break loop1;
	}
	
}

上記の例だと、入れ子になっている内側にfor文から外側のfor文を抜けることができる。

 

【Javascript】for文より高速な配列の回し方。

めも。

var arr = [..., ..., ..., ..., ...];
var i = arr.length;
do {
	console.log(arr[i]);
} while(i--);

もしくは。

for(var i = arr.length; i--;) {
	console.log(arr[i]);
}

ただし配列の後ろから回る点に注意。

 

【Javascript】小数点第2位で切り捨てる。

めも。

var val = 12.3456789;
Math.floor(val*10)/10;

10倍して小数点をずらし、小数点を切り捨て。その後小数点の位置を戻す。というアプローチ。

 

【jQuery】Ajax実行時の発火グローバルイベントまとめ。

自分用。

メソッド名 実行タイミング
ajaxStart(func()) Ajax通信が開始されたときに実行。複数の通信が発生していても1度のみ実行される
ajaxSend(func(event, xhr, options)) リクエスト送信前に実行される
ajaxSuccess(func(event, xhr, options)) 通信に成功した際に実行
ajaxError(func(event, xhr, options, error)) 通信に失敗した際に実行
ajaxComplete(func(event, xhr, options)) 通信の成功、失敗に関わらずプロセス完了時に実行される
ajaxStop(func()) 全てのAjax通信が完了した際に実行される

これは適宜便利に使えそうな予感。