CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ページ情報 制作日 2005-07-24T03:14:49+09:00 最終更新日 2005-10-28T11:35:21+09:00 ページ内目次 Navigation Comments Trackbacks Post a comment JavaScriptはクロージャでガリガリ書いていく言語だという説もあるが、OOP原理主義としてはプロトタイプベースでもいいからOOPで書きたいのである。というか、クロージャは中途半端で気持ち悪い。 さて、事の発端は『JavaScript とクロージャ』という記事である。この記事によると、なにやらイベントにクロージャを渡すと幸せになれるという事らしい。ふむふむ、たしかにシンプルでいい感じである。 ……が、しかしだ。オブジェクト指向なアレに対して、クロージャには決定的な弱点が有るはずなのだ。そう、メソッド(クロージャ)間での(メンバ)変数の共有である。
NaN(ナン、Not a Number、非数、ひすう)とは、数値でないことを表す特殊な値です。IEEE 754の定義より、NaNはNaN自身を含むあらゆる値と等しくありません。また、 Boolean コンテキストに現れたときに偽とみなされます(Falsy)。 IEEE 754 では、NaN は qNaN(quiet NaN)とsNaN(signaling NaN)の2つが定められバイナリ表現も違っています。JavaScript の NaN は全て qNaN です。即ち、メソッドが NaN を返す場合は例外は throw されません(ゼロ除算例外の様な算術例外はありません)。 NaN == NaN // false NaN === NaN // false Boolean(NaN) // false Object.is(NaN, NaN) // これは true
This is the home of RingoJS, the CommonJS-compliant JavaScript platform formerly known as Helma NG. Getting Started Roadmap, Philosophy Packages, Applications Mailing List, Twitter IRC Channel, Log Features Compact JavaScript runtime environment based on Mozilla Rhino. It adds to Rhino a module system compatible with the CommonJS Modules/1.1 specification. Module library implemented in JavaScript,
ちまちまとjavascriptを勉強中。テキストはこちら。 JavaScriptプログラミング入門 第2版 配列の並び替えの所で出てきた比較関数の意味がよくわからん。 昇順で並び替えるスクリプト // 比較関数compareの定義(昇順) function compare(a,b){ return a - b; } var numArray = new Array(5,50,9,10,5); numArray.sort(compare); for (var i = 0; i < numArray.length; i++){ document.write(numArray[i],"<br>"); }この結果がこれ。 5 5 9 10 50で、sort(compare)で昇順で並べ替えてるのはわかるんだけど、そこで使う比較関数の説明の部分で、 「aの方が大きい→正の値, aとbは等しい→0,
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
JavaScript簡単なようで、とても難しく、情報もあまり見つからなかったので、知らない方はぜひ読んで。 選択範囲の移動でもなく、選択範囲の内容の取得でもありません。選択範囲がテキストエリアの中で何文字目から何文字目に渡っているかをIEで調べる方法です。 まずFirefoxではElement#selectionStart/selectionEndで簡単に取れます。 次に、テキストエリアではなく一行のインプットボックスならば以下で大丈夫です。 setEndPointメソッドは、rangeTo.setEndPoint('EndToStart', rangeFrom)のように使い、rangeFromの範囲をrangeToにコピーします。名前はEndPointですが、始点/終点のどちらの端もこのメソッド一つで動かすことができます。'EndToStart'は、「rangeToの終点を、rangeF
tonextone.com/note/ Last-modified: 2006-09-01 (金) Copyright ©master_at_tonextone.com All rights reserved. Google suggestの補完候補表示機能は、便利なので、結構いろんな人がマネをしている。 俺もこれで真似しているわけだが、まだマネし切れていない部分がある。 それは、かな漢字変換が未確定の段階での、補完候補取得機能。 IME-on でも、キーをタイプする毎に、補完候補が更新されるっていうヤツ。 Google 以外で、この機能を Cross-Browser に実装して、公開している人もいないようだ。 という事で、あの難読化された ac.js から学ぶ事にする。 現段階で分かっている事は、 IME-on 状態で、 IE: キータイプ毎に keydown, keyup が発生する。
このエントリの続き。 ようやく、時間がとれたので、ac.jsを読んでみた。 結論: key event をトリガーにするのは諦めて、入力値の変更をトリガーにしている。 そのために、10 ms 毎に入力値を監視している(idkc() という関数)。 その部分だけ抜き出すと、つまりこういうことです。 思った通りの実装ではあったが、 実際やった経験がなかったし、何しろ難読化されているので、 すぐには、突き止められなかった。 ちなみに、難読化されたコードの整形には、GNU indent (on Cygwin) を使いました。 javascript-modeも便利ですね。
こんにちは、太田です。前回は総集編的な内容でしたが、今回は一転して基礎編に戻ります。JavaScriptにおける継承の方法とその仕組みについて、今回から数回に分けて基礎的な部分からきっちり押さえていきたいと思います。 JavaScriptとオブジェクト指向 JavaScriptはプロトタイプベースのオブジェクト指向プログラミング言語と言われています。new演算子を用いることで、関数がコンストラクタとして働き、そのコンストラクタが持つプロトタイプオブジェクトのメソッド(プロパティ)を継承した新しいオブジェクトを作ることができます。 なお、オブジェクト指向という概念については今回は触れません。オブジェクト指向という概念を掴みきれていない、自信がないという方は、JavaScriptのprototypeをしっかりと理解してから改めてその概念を学んでみるとすんなりと理解できるかもしれません。さらに、
はじめに 2010 年 9 月 15 日を持ちまして、サイボウズ・ラボを退職いたしたました。 報告も兼ねて、久しぶりにブログを書いてみたいと思います。 (写真はゆうすけべーさんです) この会社に入って、たくさんの学びと思い出がありました。 その一つ一つをまとめていければ、素晴らしい記事になるのかもしれませんが、僕は文章が苦手です。 ですので、うまく退職のエントリを書き上げることができません。 言葉にできない。そんな感じです。 なので、このエントリはサイボウズ・ラボやサイボウズ本社の仲間たちへのありがとうの気持ちをこめて、自分らしく最後まで JavaScript のことを書きたいと思います。 サイボウズでの最後の仕事 僕にとって、サイボウズでの最後の仕事は「JavaScript で新しいユーザーインタフェースを作ること」でした。 そして、その中で始めて複数人による大規模な JavaScrip
最近使ってたりするJavaScript関係のツールまとめてみた。 主にWebサービスです。 Global is the new private JavaScriptライブラリの名前空間汚染をチェックするツール。 元々載ってるもの以外でも*Analyze your own scripts!*から調査したいライブラリを追加できる。 jsFiddle ブラウザ上で HTML / CSS / JavaScript の実行結果を表示できる。 Embedコードもあるので、ブログにjsやCSSなどを載っけるのに便利。 エディタ機能も整形、シンタックスハイライトしてくれるので使いやすい。 HTML5のコードを使うにはInfoからDTDを変更してから使う。 類似:MooShell Gist – GitHub gistです。コードスニペット共有サービスです。 Greasemonkey貼るときgist fill
ダイアログ的な使い方をしたいが、POSTしか使えない場合の方法 // 親画面のformは↓こんな感じになっているとする。 // <form name="parentForm" action="http://xxxx" method="post">...</form> function openChild(id, mode) { window.open("","window_name","width=300,height=200,menubar=no,toolbar=no"); // ターゲットを指定。window.open()の第2引数と一致していること。 document.formParent.target = "window_name"; // パラメータなど document.formParent.id.value = id; document.formParent.mode.val
window.open()でURLにクエリストリングを付加した状態で ウィンドウが立ち上がるのがセキュリティ上よろしくない ということで現場SEの方が悩んでたので一緒に悩んだ。 ネットで調べてて、結構この手の問題を悩んでた人が多いみたい。 解決策も多かったけど、シンプルに感じた方法は以下である。 情報元 <html> <script language="javascript"> function test() { window.open("", "ATMARK") ; window.document.inform.action = "http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php" ; window.document.inform.target = "ATMARK" ; window.document.inform.method = "P
IE8の挙動について追記しました。 IE8は、img.complete は 画像読み込みでも true になりません(falseのままです)。 そのかわり、img.readyState が "complete" になります。 JavaScriptでの画像の動的/遅延読み込みといえば (new Image).src = URL; なんですが、 タイムアウトやエラーの状況を把握したい時もあったりします。GoogleMapライクなアプリを作ってるときとか。 今回ちょっと必要になったのでまずは調査から。 以下のコードで、存在しないファイル(missing.jpg)を読み込ませ、実行経路を確認してみます。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://w
Wakachi sample(websocket vs. xhr) 小松さんの「websocketでpipelineをすると、感動的に早い!!」 のサンプルです。 文書をわかち書きするサンプルです。"via ..."をクリックすると、わかち書きしてくれます。Webサーバー上でのMeCabで解析した結果を基にわかち書きしてくれます。 解析用サーバーとして、websocketサーバーと通常のwebサーバーのパターンの2種類を用意しています。websocketサーバーのほうが圧倒的に早いことが分かると思います。これは、websocketのオーバーヘッドが従来のHTTPに比べ非常に小さく、またpipeline処理に適しているためです。 Source: 「坊ちゃん」夏目漱石 親譲りの無鉄砲で小供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間ほど腰を抜かした事がある。なぜ
Run JavaScript EverywhereNode.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
更新履歴 2010-01-21 本エントリの内容も含めた最新の情報は下記エントリをご参照ください。 jQuery の位置・サイズ関連メソッドまとめ - Cyokodog::Diary 前回、前々回のエントリではボックス要素を例にサイズや位置、スクロール量などの求め方について書きましたが、実際のプラグインの実装においてこれらの情報が必要になるのは、ブラウザの表示領域に対してということが多いかと思います。 具体的にはツールチップなどの機能で、画面の端の要素を hover した時、ポップアップがブラウザの表示領域内に収まるように表示位置を調整するような場合に、ブラウザの表示領域のサイズやスクロール量などが必要になります。 jQuery でブラウザの表示領域をつかむ方法 ブラウザの表示領域を jQuery でつかむには、以下のような記述でできそうです。 $('html') $(window) $(
Platform: All Version: 5.0 and Above [*注] ActionScript 3.0にもとづくスクリプトと解説は「配列を偏りなくランダムに並べ替える」をご参照ください。 1. 配列をランダムに並替える '配列をランダムに並替えるユーザー定義関数('function')を考えてみましょう。 // function定義: xShuffleArray // 引数: 配列 // 戻り値: なし function xShuffleArray(l_array) { //[1]'function'定義 var n = l_array.length; //[2]配列の長さを取得 var i = n; while (i--) { //[3]配列エレメントすべてをループ処理 var j = Math.floor(Math.random()*n); //[4]ランダムなイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く