Home > Tags > JavaScript
JavaScript
eval()使用しない。- JavaScriptパターン
- 2011-05-29 (日)
- JavaScrpit
Head First JavaScript ―頭とからだで覚えるJavaScriptの基本
1. evalとは?
eval: 文字列を式として評価する関数、または複数の文をプログラム中のあるコンテキストで実行するサブルーチン
JavaScriptパターン
のevalを使わない手法を学習中です。
2. JavaScriptパターン
静的プロパティにアクセスするパターン
// Anti Patern
var property = "test";
alert(eval("obj." + property));
// Good Patern
var property = "test";
alert(obj[property]);
3. evalの危険性
eval()のセキュリティ問題。
不正な、コードが実行される危険。
Bad) AjaxリクエストからJSONレスポンスをevalで処理
Good) ブラウザの組み込みメソッドを使用して、JSONのレスポンスを構文解析
- JSON.parse (新JavaScript例文辞典)
- JQuery.parseJSON・・・JSON.parseがサポートされていないブラウザを使用する場合
setInterval(), setTimeOut(), Function()コンストラクタ
文字列を、setInterval(), setTimeOut(), Function()コンストラクタに渡すのは、eval()にほぼ等しいので危険。
// Anti Patern
setTimeOut("myFunc()", 1000);
setTimeOut("myFunc(1, 2, 3)", 1000);
// Good Patren
setTimeOut(myFunc, 1000);
setTimeOut(function() {
myFunc(1, 2, 3);
}, 1000);
どうしてもeval()を使用する必要がある時、new Functionコンストラクタを検討。
その関数のローカルなスコープで実行されるため、自動的にグローバルになることがない。
- Comments: 0
- Trackbacks: 0
JavaScriptパターン
- 2011-05-23 (月)
- JavaScrpit
JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで
最近、JSLintなど、
ストリクトなJavaScriptコードが求められてきたので、
JavaScriptのデザインパターンを2冊ほど。
JavaScriptパターン
JavaScriptパターン ―優れたアプリケーションのための作法
Stoyan Stefanov:著 豊福 剛:訳
目次
1. はじめに
2. 必須パターン
3. リテラルとコンストラクタ
4. 関数
5. オブジェクト作成のパターン
6. コード再利用パターン
7. デザインパターン
8. DOMとブラウザのパターン
他の言語とは違う、JavaScript独特の癖が理解できる書籍でした。
JavaScript The Good Parts
JavaScript: The Good Parts のDouglas Crockford氏の動画
さらに極めたい、JSLintのGood Partsオプションをクリアしたい時。
JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
目次
1章 良いパーツ
2章 文法
3章 オブジェクト
4章 関数
5章 継承
6章 配列
7章 正規表現
8章 メソッド
9章 スタイル
10章 美しい機能たち
付録A ひどいパーツ
付録B 悪いパーツ
付録C JSLint
付録D 鉄道ダイアグラム
付録E JSON
索引
- Comments: 0
- Trackbacks: 0
iPhone タッチイベント
- 2011-04-11 (月)
- HTML/CSS | JavaScrpit | iPhone
スマートフォンのためのHTML5アプリケーション開発ガイド―iPhone/iPad/Android対応

Apple資料
Safari Web Content Guide – Handling Events
- onTouchStart/li>
- onTouchMove/li>
- onTouchEnd/li>
- onTouchCancel/li>
※onClickのようなイベントの使い方。iPhoneでは、onClickよりレスポンスが良いらしい。
タッチ数の取得
- event.touches.length
タッチ座標(x, y)の取得
- event.touches[i].pageX
- event.touches[i].pageY
※iで、各タッチの座標を格納。
- Comments: 0
- Trackbacks: 0
Home > Tags > JavaScript