Double-click the code to edit the tutorial and try your own code. This tutorial contains code and discussion from the upcoming book Secrets of the JavaScript Ninja by John Resig. Our Goal Goal: To be able to understand this function: // The .bind method from Prototype.js Function.prototype.bind = function(){ var fn = this, args = Array.prototype.slice.call(arguments), object = args.shift(); return
昨日cpprefを久々に使ったりしていて改めてコマンドラインからリファレンスを(オフラインで)引けるのは便利だなぁと思ったので、ぱっとみないっぽかったので、jsrefというツールを作ってみた。 基本的にはcpprefと同様にサイトのpathを書きかえつつ、scrapingしてきてツールから引けるようにしただけです。ふだん案外jsは書く機会がなかったりしてあまり詳しくないですが、評判は聞くのでMozillaのサイトがよいらしいので、https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference からscrapingしてきています。 実行すると、20-30分くらいはかかってしまうので、orig/以下の入れてしまっています。日本語のマニュアルが欲しい人は、BASE_URLをhttps://developer.mozilla.org/j
レジスタ関連を移植してみた。 INSERT,COMMAND_LINE [0-9]内容を貼付 [^0-9]関数の返り値 か 内容を貼付 %urlを貼付 [*+]クリップボードを貼付 :最後のコマンドラインの内容を貼付 /最後の検索内容を貼付 選択範囲を貼付 =内容を実行した結果を貼付 completer経由で貼付 hhostを貼付 d日付を貼付 t時間を貼付 n日時を貼付 NORMAL,VISUAL "[a-z]関数が予約されていなければ内容を格納 "[A-Z]関数が予約されていなければ内容を追加 =は こんな感じです。 カーソルが消えていますが、tabopen _ test の「_」の位置にあります。 ここで = javascript を入力(completer動きます)し、 カーソル位置に結果が挿入されます。 は、現状の内容一覧をcompleterで確認しながら選択できます。 また、ここ
HTML5/JavaScriptの遊べるゲームライブラリ「Akihabara」、iPhone/Androidにも対応 「Akihabara」と名付けられたWebサイトで、HTML5のCanvasタグとJavaScriptを用いて開発されたゲーム用ライブラリと、それによって開発されたゲームが公開されています。特にゲームは昔のアーケードゲームを再現したようなものばかりで楽しめます。 開発したのはKesieVと名乗る人物。主に以下のようなライブラリから構成されています。 Gamebox 同時に動く複数のオブジェクトグループを扱うライブライリ。キーボード、ダブルバッファリングなども扱う。現時点で音声には未対応。 Gamecycle オープニング、メニュー、ステージ間のクロスフェードなどのサイクル機能を提供。 Toys シューティングゲームやロールプレイングゲームでよく使う、画面のエフェクトやヘッド
最近、 JavaScript のプログラミングでは Closure Library を使うようになってきました。やはりこれひとつでほとんどの機能を賄えて、アプリケーションの構造化も素直に行えるのがいいですね。 Closure Library の機能を把握するには、豊富に用意されているサンプルデモを参照するのが一番の近道なのですが、リファレンスページにファイルのリストがあるだけで、自分が使いたい機能のサンプルがどれなのか、探すのに毎回苦労します。 そこで、この状況を少しでも改善するべく、サンプルをカテゴリ分けしてみました。それぞれの内容も簡単にコメントしてあるので、目的のサンプルを見つけるのがだいぶ楽になると思います。 Closure Library のお供に、ぜひご活用ください。 イベント events.html - イベントオブジェクトの内容表示など。 eventtarget.html
はじめに JavaScriptでは関数もオブジェクトです。このことはよく理解されていると思います。関数とメソッドとの明確な違いはなく、どちらも関数オブジェクトである、というところまではよいのですが、関数コールとメソッドコールの違い、あるいはその仕組みは正確に理解されているでしょうか。先日、職場の後輩に問題を出したところ正確に答えられえなかったので、いまさら?と思われるかも知れませんが、関数コールの仕組みを解説します。 関数とメソッド JavaScriptでは関数とメソッドには本質的な違いはありません。オブジェクトのプロパティとして定義される関数を便宜的にメソッドと呼んでいるだけです。parseInt()などのグローバル関数もグローバルオブジェクトのプロパティであり、関数の中でローカルに定義した関数も概念的にはActivation Objectのプロパティなので基本的には全ての関数はメソッド
HTML5の<canvas>のdrawImageのベンチマーク結果。物凄い差だ。 ブラウザ 合計時間 1回平均 Safari 3.1.2 257ms 0.143ms Opera 9.5 1132ms 0.629ms Firefox 3.0 1589ms 0.883ms iPod touch 2795ms 1.553ms ExplorerCanvas 0002 - IE7 4123ms 2.290ms OSはWindows XP、CPUはPentiumM 1.2GHz(シングルコア)です。 ベンチマークは http://accelart.jp/blog/CanvasBench/CanvasBench.html の自作。1800回 drawImage を呼び出しています。
Firebugでは条件付きブレークポイントが使えるので、 scriptタブにて該当行にブレークポイントを貼り、 条件としてconsoleへの出力を||区切りで、最後に&& falseを入れる。 console.debug('this.lastPosition') || console.dir(this.lastPosition) && false こうするとブレークポイントを通る度にconsoleへの出力は評価され、 consoleに出力され、最後の&& falseのため式全体は必ずfalseとして評価されるため ブレークすることはない。 追記 console出力系関数の戻り値はundefinedなんだから&& falseは不要か 追記 nanto_vi @monjudoh JSでは||より&&の方が優先順位が高いので、a || b && c はaが真ならbもcも評価されずに全体が真として
前書き Javascript quiz ? Perfection Kills が Twitter で話題となっていたので, 挑戦してみました. 結果は 5 問のミス. 完敗でした. 色々分かっていないところがあるなと感じたので, 勉強がてらに解答と解説を書いてみました. 間違いやまずい表現などあれば指摘していただけると助かります. どれも良く考えられた問題で勉強になるので, まだやっていない方はぜひ挑戦してみてからこのエントリを読んでいただけたらと思います. 解説 1. (function(){ return typeof arguments; })(); arguments は配列. 一見配列のように見えるが, 実際は 0, 1, 2 といったプロパティと length を持ったオブジェクト. >js (function () { alert(arguments instanceof A
そういえばこういうのまともに書いたことないなと思って練習がてらJSONのシンタックスが正しいか判定する関数を作った。 だいたいhttp://www.ietf.org/rfc/rfc4627.txt?number=4627: JavaScript Object Notation (JSON)に沿って書いた。 minus記号を判定するだけのごく小さい判定機を作って、正しければ一文字進めて…といったようにしてnumber関数を作って、最終的にJSON全体の判定機を作る。 これを少し改造して途中でスタックに値を積むようにすれば構文解析器として使えるんだと思う…けど、なんかよくわからなくなったので一応これで完成として、あとで考える。 var parseJSON; (function () { parseJSON = function (text) { if (value(text, 0) <= 0)
プロフィールページへ移動しています。 Copyright (C) 2001-2025 hatena. All Rights Reserved.
2010年のJavaScriptと題しまして、JavaScript周辺の「これまで」と「これから」についてまとめてみたいと思います。 2009年までのJavaScript JavaScriptは各ブラウザベンダなどが個別に実装するという特殊性から、ブラウザ(実装)ごとの非互換性の問題に悩まされ続けてきた言語です。まず、そのJavaScriptの歴史を簡単に振り返ってみます。 ECMA-262 3rd editionとスピードコンテスト JavaScriptはNetscape社によってLiveScriptという名前で誕生し、その後ECMAScriptとして標準化が進みました。1999年12月にECMA-262 3rd editionが策定されてから、Internet ExplorerのJScript、MozillaのSpiderMonkey(TraceMonkey)、SafariのJav
ウェブで見かけた文字が、やたら気になることがあるので 作ってみました javascript:location.href = 'http://www.fileformat.info/info/unicode/char/' + (function(r){ var n = r.startContainer; var p = r.startOffset; return (n.nodeType == 3) ? n.nodeValue.charAt(p) : n.childNodes[p].textContent.charAt(0); })(getSelection().getRangeAt(0)).charCodeAt(0).toString(16) + '/index.htm'; void(0); 使い方は簡単 気になる文字を選択してブックマークレットを実行するだけ! 対応ブラウザ HTML5 t
先日、ちょっとした思いつきで WebKit の Nightly Build をインストールし、 WebGL を試してみました。 WebGL というのは現在策定中の新しい規格で、 JavaScript を使って本格的な 3DCG を実現する API です。同じ目的を持つものとして Google の O3D がありますが、 WebGL は OpenGL ES を管理している Khronos グループを中心に Google, Mozilla, Opera, NVIDIA, AMD といった企業が参画しており、標準化という面ではリードしています。 まだ策定中の規格なので今後変化するかもしれませんが(WebGL 1.0 が正式リリースされました)、少なくとも現状の WebKit の実装については使い方がわかったので、本日はそれをご紹介します。 WebGL は Web 上の最も重要なグラフィックス A
ちょっとアレなタイトルですが、GreasemonkeyでAutoPagerize対応のスクリプトを自作する時の注意点を2つメモ。 自分はひよっこですが、これからGreasemonkeyスクリプト書いてみようかなという人の助けに少しでもなれば嬉しいです。 継ぎ足されたページに適用する方法 AutoPagerizeで継ぎ足された部分に自分のスクリプトを適用する方法あれこれ - 0xFF を参考に、AutoPagerize_DOMNodeInsertedを使うことにする。 以前はaddFilterとかGM_AutoPagerizeLoadedとか出てくる書き方をしていたんだけれど、この方法がやはり簡単・シンプルなので採用させて頂きました。 継ぎ足されたページ「のみに」適用する方法 新しく継ぎ足されたページのみに、スクリプトの内容を適用・反映したい場合。 注意しないと、継ぎ足されたページのみに適用
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く