JavaScriptでは関数もオブジェクトです。またJavaScript独自の特徴として、オブジェクトがそのままハッシュになります。なので、これを利用すると条件分岐が簡単に書けるようになります。 これはHTML5のAPIやセレクトボックスで操作を切り替える場合のように、文字列で条件分岐したい。けど、Switch文のネストが複雑になりすぎる、あるいは不定数の選択肢に対して処理したいといった場合に便利です。 var switching=function(key){ var switchbox={}; switchbox.a=function(){ alert("a"); }; switchbox.b=function(){ alert("b"); }; var func=switchbox[key]; func(); } switching("a");//a switching("b");//
{今年|今月|今週|今日}も何%過ぎました ゆく河の流れは絶えずして、しかももとの水にあらず (鴨長明:荘子) FESTINA LENTE ゆっくり急げ (ローマ帝国初代皇帝 アウグストゥス) 立派にできたのであれば、それは十分早くできたことになる (ローマ帝国初代皇帝 アウグストゥス) 海豹日記 へようこそ このサイトは、個人的な覚書を残しておくサイトです 自分は、よくこんなことをします 何かの困りごとや興味の赴くままに、いろいろ調べる 数か月後に、そのことを忘れてしまって、同じことについていろいろ調べる。しかし、そのうち、数か月前の自分が、同じことを同じように調べていたことに気づく それは不毛なので、覚書を残しておこうというわけです (主人公のアリスに掴まれて、チェス盤のはるかかなたまで持ち上げられたことのあるチェスの王さまが、当時のこと思い出し) 王さま「あの瞬間の恐怖といったら、わ
[09/04/07 16:00 追記] embedでの呼び出し結果の表に誤りがあったので訂正しました。 世間ではiPhone OS3.0で騒がれていますが、そんな中メインストリームとは逆行してJava Appletについていろいろ調べていました。 情報が少なすぎる 世間的にはJava Appletの話なんて枯れすぎてる話題なので、いくら調べても2000年過ぎの情報ばかりが大半です。「ただしこの方法ではNetscape4.0以上の環境では。。。」とか言われても困るわけです。今どきのWebアプリケーションらしくJavaScriptと連携させるにはどうすればいいんでしょうか。そもそもappletのロード方法1つとってもSafariやChromeなんかのモダンブラウザに対応したロード方法とかまったくわかりません。あとJava Runtimeのインストールチェックなんてどうすればいいのでしょうか??
春なので、いきなり「JavaScript書け」と職場で言われて困惑しているIT奴隷仲間も多いことでしょう。 なので、特につまずきそうなテーブル操作についてざっくりまとめてみました。 ちゃんとした情報はJavaScriptクイックリファレンス 第5版でも参照してください。 //まず、IDでテーブルへの参照を取得。 var table = document.getElementById("tableId"); //取得したテーブルへ行を追加する。 //引数は、行を挿入したい位置。1行目として作成したいなら0。 //-1を指定すると末尾になる。 //戻り値は作成された行(tr)への参照。 var row = table.insertRow(-1); //作成した行にセルを追加する。引数はinsertRowと一緒。戻り値も一緒。 var cell1 = row.insertCell(-1); va
米Googleは米国時間2009年11月5日,JavaScriptアプリケーション開発用のツール・セット「Closure」を公開したと発表した。JavaScriptコードを最適化するツールやライブラリ,テンプレートなどをオープンソース・ソフトウエアとして提供していく。 Closureは,JavaScriptコードを高速化/コンパクト化するツール「Closure Compiler」,デバッガ「Closure Inspector」,ライブラリ「Closure Library」,テンプレート「Closure Templates」で構成する。Googleは,これらを「Gmail」や「Google Docs」「Google Maps」などのWebアプリケーション開発に使っている。 Closure Compilerは,JavaScriptコードの無駄な部分を削除したり修正したりすることで,サイズを小さ
※ 画面は公式サイトのデモコードより 最近のWebシステム開発ではO/Rマッピングの利用が当たり前になっている。そのため、生のSQLを書く機会が殆どなくなり、開発がスムーズになっている一方、いざ書くとなると非常に面倒に感じるようになっている(もちろんORマッピングではコストがかかってしまう場合はSQLを書く必要もあるだろうが)。 JavaScriptで実現するO/Rマッピング それはSQLiteが使えるiPhone/Gears/Adobe AIRといった今時の開発に対しては特に言える。O/Rマッピングに慣れてしまった体にはSQLite向けのSQLを書くのは非常に辛い。そこで使えるのがActiveRecord.jsだ。 今回紹介するオープンソース・ソフトウェアはActiveRecord.js、JavaScriptで作られたO/Rマッピングソフトウェアだ。 ActiveRecord.jsが対応
はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr
consider: open blog Ajax JavaScriptフレームワークは代表的なものだけでもいくつかある。古参のPrototypeやScript.aculo.usにはじまりjQuery、YUI、Dojo、Ext JSなど。個別の機能を提供するJavaScriptライブラリにまで手を広げるとかなりの数に及ぶ。有名なJavaScriptフレームワークとしては若干シェアが低いが、根強いユーザがいるのがMooToolsだ。 そこでconsider: openで開始された連載30 Days of Mootools 1.2 Tutorialsに注目したい。1日で取り組むチュートリアルを随時公開していき、合計で30日分のMooTools 1.2チュートリアルを完成させるというもの。JavaScriptやMooToolsを使ったことがないデベロッパ向けに組まれたもので、MooToolsをマス
以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
JavaScriptによるクリップボード操作 JavaScript(JScript)のclipboardDataの可能性とセキュリティ JScript(Windows版IEのJavaScript実装)のclipboardDataオブジェクトを使うと、「クリップボードのテキスト操作」を簡単に行うことができます。たとえば、CGIやスクリプトで生成した文字列やフォームのテキストボックスの文字列をボタン操作などで(あるいは自動的に)クリップボードにコピーし、JavaScriptで記述された他のプログラムで簡単に利用できるようになるわけです。 さらに……clipboardDataオブジェクトの機能を使うと、「現在クリップボードにある文字列の取得」もできます。一度JavaScript側で取り込んだ文字列は、何かの拍子wにサーバーに送ることもできるわけですから……。個人情報をクリップボードにコピーした状
YAPC::Asia 2008 で Michael Schwern は「SEO に有効な独自ドメインを取って、もっと Perl 初心者が集まりやすい nice な Perl の情報を集めたサイトを作れ!」といったそうです。そして「Perl-users.jp - 日本のPerlユーザのためのハブサイト」ができました。それにインスパイアされてas-users.jpも出来たらしい。 これは JavaScript も同じではないのか? そう思って js-users.jp ドメインを取り、ここに js-users.jp を開始します。完全に as-users.jp にインスパイアされています。本当にありがとうございます。ノープランです。 イベント情報 ajax Experience http://ajaxexperience.techtarget.com/html/index.html 2008年
作成するアナログ時計 さて、最終回の今回はこれまで学んできたCanvasのテクニックを応用して、アナログ時計のjsライブラリを作ってみましょう。図1に完成図を示します。 まず時計の文字盤を画像ファイルとして用意し、それをCanvasに組み込み表示させます。そして、短針、長針、秒針を、Canvasの直線を使って表現します。これら一連の処理をsetIntervalを使って1秒おきに描画しなおします。 ここで解説するjsライブラリは、どのページにも問題なく簡単に組み込めるように作成します。Canvasのテクニックだけではなく、jsライブラリ作成のポイントも一緒に学んでいきましょう。 変数名の重複に注意 JavaScriptは、jsファイルとして機能ごとに分離することができます。しかし、ファイルを分離したからといって、グローバル変数や関数がそれぞれのjsファイル内に隠ぺいされているわけではありませ
薀蓄 JavaScriptにsleep処理ができないか,その手の質問を良く見かけます。JavaScriptだけで所謂sleep処理はできないのですが,ビジーリードを用いるかJavaScript以外の仕組みを用いれば実現できなくはありません。但し,同期処理や非同期処理,タイマやインターバルを使えば大抵の場合実際に実現したい機能は実装できるはずで,sleep機能を使いたいと思った場合には,先にそちらを検討されることをお勧めします。 サンプル ソース #! /usr/local/bin/perl use CGI; my $cgi = new CGI(); my $wait = $cgi->param('wait'); $wait =~ s/\D+//g; $wait /= 1000; $wait = 10 if ($wait > 10); sleep($wait); print "Content
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。 `=�窪View in English �D�窪Always switch to English JavaScript (JS) は軽量でインタープリター型(あるいは実行時コンパイルされる)第一級関数を備えたプログラミング言語です。ウェブページでよく使用されるスクリプト言語として知られ、多くのブラウザー以外の環境、例えば Node.js や Apache CouchDB や Adobe Acrobat などでも使用されています。 JavaScript はプロトタイプベースで、マルチパラダイムで、シングルスレッドで、動的な言語であり、オブジェクト指向、命令型、宣言型(関数プログラミングなど)といったスタイルに対応しています。 JavaScript
1秒でも早く動く快適なWebアプリケーションを開発することはフロントエンドプログラマやWebデベロッパが常に追い求めるところだが、SitePenにおいてTom Trenka氏による興味深い分析結果"String Performance: an Analysis"が公開されたので紹介しておきたい。同氏のドキュメントはテクニック的に参考になるものだ。 文字列処理はパフォーマンスを左右する重要な要素のひとつだ。Javaなどよく使われるプログラミング言語では文字列は変更不可能なオブジェクトとして扱われる。変更不可能にすることで文字列の重複を防ぎ、不要なデータのコピーを避けることで処理速度の向上が実現できるからだ。そのかわり文字列を編集する場合には、変更後の文字列を新しく生成するという手段をとる。このため文字列の編集という操作は新しく文字列を生成する操作と等価であるため、コストが高い処理になる。 そ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く