javascript

PhantomJS1つのファイルで複数サイトをスクレイピングする。

PhatomJSは、JavaScriptで記述できるブラウザレスなWebスクレイピングフレームワークです。 スクレイピングのフレームワークのなのでassetメソッドなどのテストフレームワークは含まれていません。PhantomJS | PhantomJS1つのjsファイルで複数ページをレンダ…

JavaScriptでArrayの差分を取得する。

コード (function(){ var arrayDiff = function(that){ var diffArr = []; for(var i=0,len=that.length; i < len; i++){ var thisVal = this[i]; var thatVal = that[i]; if(JSON.stringify(thisVal) !== JSON.stringify(thatVal)){ diffArr.push(thatVal);…

JavaScriptでコンストラクタを使ってクラス継承を行う。

テスト駆動JavaScript作者: Christian Johansen,長尾高弘出版社/メーカー: アスキー・メディアワークス発売日: 2011/11/25メディア: 大型本購入: 19人 クリック: 331回この商品を含むブログを見る上記書籍に紹介されているコンストラクタを使ったクラス継承…

JavaScriptの変数スコープと(軽く)クロージャ。

JavaScriptの変数スコープには2つしかありません。 グローバルスコープ 関数スコープ サンプルコードで動作を確認していきます。 サンプルコード Sample01 コード (function(){ scope = 'Global Scope'; }()); (function(){ console.log('@Sample01'); conso…

node.js Express3.xのViewHelperメソッドでSessionの値を使う。

Express2.xとExpress3.xでは、仕様が大きく変わっているようで、2.xのコードを参考に3.xでコードを書いていると思いがけないところでハマってしまいます。今回はViewHelperメソッドでSessionの値を使う方法でハマってしまいました。 なお、今回紹介するコー…

IE8 JavsScriptでのArrayインスタンス化の注意事項

下記コードがIE9では正常に動作しましたが、IE8では正常に動作しなかったので記載しておきます。 var names = [ "Java", "Ruby", "PHP", ]; for(var i = 0, len = names.length; i < len; i++){ alert(names[i]); } IE9ではnamesオブジェクトをArrayとして認…

コーディング規約まとめ

GoogleのJavaScript規約英語:http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml日本語(2.93):http://www38.atwiki.jp/aias-jsstyleguide2/pages/1.html日本語(2.72):http://cou929.nu/data/google_javascript_style_guide/ Google…