Javascriptで苦戦した経験
              @kanayannet




13年2月10日日曜日
先に言っておきます
     ↓の本を読んだ人は知っている事が多いかも?




13年2月10日日曜日
先に言っておきます
      細かいコードが今回多々出ますが、
      後でスライドアップするので、ここで覚えなく
      ても大丈夫です。




13年2月10日日曜日
項目
         1.   new した時
         2.   巻き上げ
         3.   プライベートブラウズ と localStorage
         4.   ios6.0 mobile safari の ajax
         5.   NaN




13年2月10日日曜日
1. new した時




13年2月10日日曜日
注意点

              うっかり、new し忘れて関数を呼ぶと
              処理が成功して、予期せぬグローバル
              変数が入ってしまう




13年2月10日日曜日
うっかりミスを
  こう防いでみました




13年2月10日日曜日
2. 巻き上げ




13年2月10日日曜日
注意点
         var より前に呼び出した変数が
         巻き上げられてしまう
         関数の始めで var 宣言しておいた方が
         安牌ですね。




13年2月10日日曜日
3. localStorage


              localStorage とは、HTML5の
              Webブラウザ内部のデータベー
              ス(KVS)です。




13年2月10日日曜日
3. localStorage




13年2月10日日曜日
3. localStorage




13年2月10日日曜日
3. localStorage




13年2月10日日曜日
3. プライベートブラウズ




13年2月10日日曜日
3. プライベートブラウズ




13年2月10日日曜日
解消はこんな感じ




13年2月10日日曜日
4. ios6.0
   mobile safari の ajax




13年2月10日日曜日
4. ios6.0
   mobile safari の ajax
        これ、mobile safari でキャッシュして
        しまうんですw
        ※cache: false しても キャッシュします!


         http://dev.classmethod.jp/
         smartphone/ios6-safari-post-jquery/

13年2月10日日曜日
解消法法
              プロトコルヘッダに
              Cache-Control "no-cache"

              もしくは...

              電文の引数に違う値(日時とか..)を渡す




13年2月10日日曜日
5. NaN




13年2月10日日曜日
5. NaN

              JavaScriptでは定義されていない
              演算はNaN

              そして、NaN は typeof で評価すると
                      number


13年2月10日日曜日
解消法法




13年2月10日日曜日
まとめ
  苦戦したポイントは大きく二つに分かれます。

              1. javascript の 仕様


              2. ブラウザによる挙動の違い




13年2月10日日曜日
まとめ
              1. javascript の 仕様
                    覚えるw




13年2月10日日曜日
まとめ
        2. ブラウザによる挙動の違い
              1件1件挙動をテストすると見過ごすかも
              しれないので、テスコードを用意しておくと
              便利。

              ※新しいブラウザバージョン出たらテスト




13年2月10日日曜日
PS
              LTやりたいけどネタが
              思いつかないという方へ

              個人的には、こういう経験談的なLT でも
              良いと思っています。




13年2月10日日曜日
PS


              経験をシェアしていくと...
              新しい開発手法や発見に繋がるかも?




13年2月10日日曜日
ご清聴ありがとうございました




13年2月10日日曜日

Js kusen