Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

JavaScript

How to convert string to number with AngularJS

There is more than one way to convert string to number in JavaScript. Context: Use AngularJS to bind text boxes to variables. Sum up input values in some text boxes. Omit ng-required, ng-pattern, ng-minlength, ng-maxlength, etc., wherever …

Trimmed characters by trim() are different between languages

String object in .NET (PowerShell), JavaScript, and Java all have trim() method. But trimmed characters by trim() are different between these languages. # codepoint .NET JavaScript Java 1 0000-0008 ✘ ✘ ✔ 2 0009-000D ✔ ✔ ✔ 3 000E-001F ✘ ✘ ✔…

JavaScriptでsprintf

JavaScript の標準ライブラリには sprintf がないため、ちょっとした文字列整形でも一苦労。

JavaScriptで文字列プレースホルダ

文字列中の{0}, {1}, ……のような文字列を引数に指定した文字列で置換する処理 *1 はJavaScriptの標準ライブラリには存在しない。 これもやはり文字列連結でまかなう他ないが、文字列をくくりだそうとすると細切れになって困る。 *1:.NET のString.Format()メ…

JavaScriptでヒアドキュメント

JavaScriptにはヒアドキュメントがない。 ヒアドキュメントのように、複数行の文字列を変数に持たせたい場合は、たとえば以下のようにする。 var linkTag = [ '<div>', ' <a href="http://www.yahoo.co.jp">Yahoo! Japan</a>', '<div>" ].join("\n");また、Perl や Ruby のヒアドキュメントのように、文字列</div></div>…

連想配列の初期化

var titles = new Array( authors[0]:new Array("デカスロン", "へうげもの", "度胸星"), ...みたいなことはできないみたい。 つまり、連想配列の初期化を行う際に、その場で new したオブジェクトを値に使うことはできない。

JavaScript で生成したフォームのサイズが小さい

次のように、 select タグの内容を JavaScript で生成した場合、 IE では二つ目のプルダウンの横幅が本来のサイズより小さくなってしまう。 Opera や Firefox なら大丈夫。 以下のソース、 Firefox の JavaScript コンソールにはいろいろ言われるけれど気に…

JavaScript (Firefox 上の実装)の正規表現

注意する点がいくつかある。 match() は RegExp クラスのメソッドではなく、String クラスのメソッド。 正規表現オブジェクトの生成は var regex = new Regexp(".+") または var regex = new Regexp(/.+/) と書ける。ここで、. や ? 等の特殊文字をエスケー…

JavaScript で文字列比較

if (hoge == "FOOBAR") としてよい。