Home > Tags > JavaScript

JavaScript

eval()使用しない。- JavaScriptパターン

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コンストラクタを検討。
その関数のローカルなスコープで実行されるため、自動的にグローバルになることがない。

JavaScriptパターン

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
索引

iPhone タッチイベント

スマートフォンのためのHTML5アプリケーション開発ガイド―iPhone/iPad/Android対応

touchevent画像

サンプルURL

Apple資料

Safari Web Content Guide – Handling Events

  • onTouchStart
  • onTouchMove
  • onTouchEnd
  • onTouchCancel

※onClickのようなイベントの使い方。iPhoneでは、onClickよりレスポンスが良いらしい。

タッチ数の取得

  • event.touches.length

タッチ座標(x, y)の取得

  • event.touches[i].pageX
  • event.touches[i].pageY

※iで、各タッチの座標を格納。

Home > Tags > JavaScript

カテゴリー
RSS あらびき林檎
スポンサー
書籍

Return to page top