No Programming, No Life

プログラミング関連の話題や雑記

JavaScript

GroovyでJSONを使おう

このシリーズの一覧はこちら はじめに JSONとGroovyのマップは非常に形式が似ている。 違っているのはJSONの方はマップに {} を利用するのに対して Groovyは を使う点くらいだ。 ということで、{} を することでJSONをGroovyObject*1に変換するクラスを書い…

JavaScriptのthisではまった

JavaScriptのthisではまったのでメモしておきます。 はじめに JavaなどのようなOOPに慣れ親しんでいると、JavaScriptのようなプロトタイプベースの言語を触ると痛い目を見ますね。あまりにも自由度が高すぎるためです。オブジェクトとそのメンバは密接に結び…

VBAでJScriptの正規表現を使う

発端 VBAで正規表現を使おうとした場合、参照設定などしないといけなかったりと、わりと面倒です。そこで、JScriptの正規表現を使ってしまうことで解決しようというのが今回の試みです。 ソース 'スクリプトエンジンを宣言(JScript) Set js = CreateObject("…

文字列で受け取った関数を呼び出す

JavaScriptで,文字列で受け取った引数の関数を呼び出す方法を探していました。最初は文字列を解析して関数オブジェクトでも作ろうかな〜とか思っていたんですが,そういえばAjaxではJSONをevalで評価して・・・ってのを思い出し,解決に至りました。 function …

ネスケ(NN)の外部js読み込みについて

ちと仕事でネスケ(以下,NNという)のv4.75を使わないといけなくて,ごりごりソースを書いているところなんですが,ハマッた点があったんでメモしておく。 NNで外部のJavaScriptファイル(以下,外部jsという)を読み込んだ際は複数のNNのウィンドウを開いてい…

Rhino紹介サイト

Java系Script言語紹介シリーズ第4弾。お次はRhinoで。 Rhino(らいの)はJavaScript(ECMAScript)のJavaでの実装です。 >>Rhino詳細:JavaScriptからJavaインターフェースの実装とクラスの継承 - builder 試してないけど、今流行のJavaScriptでプロトタイプベー…

ソートアルゴリズムを可視化

こんなのありました。見ているだけでもきれい。JavaScript でソートアルゴリズムを可視化 - bkブログ最近新人さんの研修でなにかとソートアルゴリズムとかやってるからね。やっぱりアルゴリズムの基本ですかね、ソートは。

JavaScriptの文字列のエスケープ

仕事でJavaScriptの文字列をエスケープするロジックを Javaで書く機会があった。JavaScriptの文字列は文字列の中にダブルクォート(")や シングルクォート(')があると、それ自体が文字列構成構文要素 となるため、重なる場合、バックスラッシュ(\)でエスケー…

外部jsファイルをロードする関数

function importJs(path) { document.write("なお、 "

JavaScriptの配列

何が出来るのかのおさらい。 要素追加・抜き出し篇 先頭の操作 int Array#unshift() →現在の配列の先頭に要素を追加して、追加後の配列の長さを返します。 Object Array#shift() →現在の配列の先頭から要素を抜き出して、それを返します。 末尾の操作 int Ar…

テンプレートシステム

テンプレートシステムのための関数 function fill(tmpl, ns) { /* * ${xxx} 形式にマッチ * xxxには「a〜z A〜Z 0〜9 _ | .」が指定可能 */ return tmpl.replace(/\$\{([A-Za-z0-9_|.]*)\}/g, function(match, $1) { return ns[$1] || ""; }); } /* テンプレ…

trim関数

JavaScriptの文字列クラスにはtrimメソッドがないので 以下のように実装。 /* 端の無駄なスペースを削除 */ str = str.replace(/^\s+|\s+$/g, ""); \s は 空白文字。 ^ は 先頭 $ は 末尾 | は OR + は 1回以上出現 g は 2,3番目にもヒットヒットした前後の…

JavaScriptハッキング

今現在私が参加しているプロジェクトではJSPを利用してHTMLページを生成しています。 その中でGkitTaglibというFFCさんの製品を利用している部分があります。 このGkitの中でスプレッドシートというものがあるのですが要するにWEBページで エクセルみたいな…

オブジェクトの参照取得

※以下の objId はオブジェクトのIDをあらわす文字列です。 とりあえずIEで動くのは documentオブジェクトのallプロパティを利用するもの。 document.all[n]; // n はオブジェクトのHTMLでの順番(obj.sourceIndex) document.all.objId; document.all.item(obj…