ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

JavaScript

Date#getTimeをインターセプトする

出来るだろうなぁとは思ってましたが、もう既に色々な人がやられていて、ライブラリ化もしているようです。 http://d.hatena.ne.jp/brazil/20061007/1160157179 にまとまってますね。 基本は、元の関数を別の名前で退避しておいて、追加処理の入った新しく定…

動的にクラスを生成

RubyではStructクラスを使うと、データを格納するだけのクラスを作成できるそうです。 # Personクラスを定義 Person = Struct.new("Person", "name", "address", "tel") taro = Person.new("Taro", "Tokyo", "03-3xxx-xxxx") hanako = Person.new("Hanako", …

ブラウザを起動しないでJavaScriptを実行する@Windows

Rhino Shellとかもありますが、WindowsユーザーにはJScriptが便利です。 var str = "Hello, JavaScript!!\n"; WScript.Echo(str); こんなファイルを「test.js」っていうファイル名で保存して、ダブルクリックするなり、コマンドラインから cscript test.js …

二次元配列を複数ソートキーを指定してソート

SQLでいうところの、 ORDER BY A ASC, B DESC みたいな、複数の項目をソートキーに指定するような処理です。 使い方はこんな感じ。 var arr = [ [2, 2, 2], [2, 2, 1], [2, 1, 2], [2, 1, 1], [1, 2, 2], [1, 2, 1], [1, 1, 2], [1, 1, 1] ]; // 3番目の項目…

関数を関数に渡す

perlのmapみたいなやつをやってみる。(ちなみにFirefox搭載のJavaScript1.6にはmap関数あるそうな。) <script language = "JavaScript"> function hoge(x) { return x + 1; } function fMap(arr, func) { var ret = new Array(); var i; for(i = 0; i