Array(10).map(function(e,i) i) とやって[0,1,2,3,4,5,6,7,8,9]となることを想定していたんだけど、ならなくて苦しんでいたら、id:nanto_viさんが教えてくれた。 http://twitter.com/nanto_vi/status/5014927085 Array.apply(null, Array(10)).map(function(e,i) i) なるほど。としか言いようが無い。
id:smoking186 さんの指摘を受け, First Authorの名前などを付加しました. どうもです. 記事内のcodeは最適化などを施しておらず, 冗長に, 定義どおりに書いています. ifがまとめられたりとかしますが, そのあたりはご容赦を... Rubyでlevenshtein距離を見て以来, 個人的にdiffブームが来ていた. 計算量O(ND) / O(NP)のalgorithmなどがあるのは知っていたが, 論文(英語)および, 解説のみ, またはソースコードのみなど分かれているものが多く, algorithmに疎い自分には理解するのに大変時間がかかってしまった. しかしやっとわかったので, 解説+JS実装してみる. 解説とソースコードがセットだと, 多少はわかりやすくなるかと... 自分は正直これくらい細かく言われないとすぐにはわかんない人なので(the O(ND)だけ
Selectors APIのDraftに、matchesSelectorというAPIが定義されていて、現在、WebKitとMinefieldのNightlyに搭載されている。 ただし、ドラフトなのでベンダープレフィックスがついていて、Element#webkitMatchesSelectorやElement#mozMatchesSelectorを使わなければいけない(というより、まだ直接使うには時期尚早だ)。 使い方は簡単。 var paragraphs = document.getElementsByTagName("p"); paragraphs.item(0).webkitMatchesSelector("p"); // true paragraphs.item(1).webkitMatchesSelector("div#main > p"); // <div id="main"><
誕生秘話 8:12 AM Dec 24th, 2008 README を書いている場合じゃない!要旨を書かねば. 3:10 AM Dec 24th, 2008 勢いあまって gem まで作った。そろそろ資料作りを開始するか… 1:51 AM Dec 24th, 2008 資料を作ろうと PC に向かったらいつのまにか JS の字句解析器ができていた…!何が起こったか(ry 資料は信頼の0バイト。 10:02 PM Dec 23rd, 2008 お腹いっぱいになったら寝てた。資料はまだ手つかず。モチベーションが下がってきた! 6:51 PM Dec 23rd, 2008 クロノトリガーがおもしろすぎて明日の資料作成にまだ手をつけてない。もう何周もしたのに… ということで資料作成に対する 嫌だ力 全開で生まれましたとさ。 資料ができたらとたんに飽きてしまって半年放置したので せっかくなのでブロ
Japanese / English JavaScriptで入力補完を手軽に行うためのライブラリです。 (【お知らせ】ver2.0からprototype.jsを必要としなくなりました) 下記のような機能を持っています。 入力内容をもとに検索を行い、補完候補を表示します。(Google Suggestぽく) Ajaxでは無く、初回画面表示時のみデータの読み込みを行い、それ以降は、クライアント側で対象データから検索します。したがって、入力内容に変化があってもサーバ側にアクセスすることはありません。 検索は、前方一致/部分一致、大文字と小文字の区別あり/なしといったように、オプションで簡単に指定できます。また、その他にも様々なオプションが指定可能です。 検索結果の表示上限を指定できます。(デフォルト上限20件) 補完候補はキーボードの上下と、マウスにて選択できます。また、キーボードで選択中にES
live な NodeList 概要 NodeList の IDL interface NodeList { Node item(in unsigned long index); readonly attribute unsigned long length; }; Interface NodeList - Document Object Model Core 「live な」NodeList とは DOM の変更が動的に反映される NodeList のこと 現状の leve な NodeList のユースケース getElementsByTagName getElementsByTagNameNS getElementsByName getElementsByClassName childNodes children, all, tags (IE legacy) 重要な事 現状の liv
私が講師役をしている社内向けJavaScript勉強会の資料をまとめて公開しました。 実践JavaScript - 株式会社ALBERT 社内勉強会資料 1回目を書いてからだいぶ間が空いてしまいましたが、その分6回分をまとめて、インデックスや見た目等々を整理してあります。 コードのハイライトには google-code-prettify - syntax highlighting of code snippets in a web page - Google Project Hosting を使用してみたのですが、すごく重かったので出力結果を静的に使っています。 オススメ回は実践JavaScript - JavaScript特有の問題・クロスブラウザなど - 株式会社ALBERT 勉強会資料でしょうか。特にクロスブラウザなDOMサイズ取得は自分でも良く参照してます。 間違いなどありましたら
なんか解説を待たれていたらしいので, Twitter上だけでなく, 詳しく. 該当記事はこれ. http://www.greasespot.net/2009/09/greasemonkey-082-released.html * Do not inject scripts into file: and about: URLs by default, for security reasons. (#1000) * The GM_openInTab() function respects the background loading tab behavior from Firefox preferences. (#1003) * Specify label/control associations in "New Script" dialog, for accessibility. (#101
Kanasan.JS JavaScript 第 5 版読書会 #8 に行ってきました。今回は初めての京都での開催、それも町家でという風情あふれる読書会。真夏真冬はちょっとつらいかもしれませんが、春秋はこういった場所での勉強会というのも乙なものですね。名古屋の DeLLa.JS では茶室での開催もあったそうでうらやましいことです。 ちなみに会場「お結び庵」の運営は home's vi ("h" を抜くと「おむすび」) という法人によるものだそうで。なんとなく名前に親近感を感じてしまうのは気のせいでしょうか。 読書範囲は「17.5 キーイベント」から「18章 フォームとフォーム要素」まで。ブラウザごとに変な癖があるということが少なく (完全にばらばらか結構統一されているか)、さくさくと読めました。 キーボードショートカット サイ本では、Web アプリケーションはキーボードショートカットをサポー
最近、WebKitにObject.defineProperty、Object.defineProperties、Object.getOwnPropertyDescriptor等、今まで間接的にしかいじれなかったり、JSからは設定することのできなかった内部プロパティを操作するためのメソッドが入った。現時点のWebKitに入っているECMAScript5の新しい機能をここにメモしておく。 const: const foo = "hello"; 定数を宣言するためのconst文。ただ、何故かfooに値を再代入できてしまう(?)ようだ。 Array#forEach、Array#some等: [1, 2, 3, 4].forEach(function (v, i) { alert(v + ", " + i); }); 今までfor文などを使って書いていた物を高階関数を使って抽象化したメソッド達。Ar
This page describes the JavaScript implementation of an HTTP server located in netwerk/test/httpserver/. Functionality Here are some of the things you can do with the server: map a directory of files onto an HTTP path on the server, for an arbitrary number of such directories (including nested directories) define custom error handlers for HTTP error codes serve a given file for requests for a spec
変数名の取得 JavaScript (via 最速インターフェース研究会) function plus(a,b){alert(a+b)} plus.curry({a:3})(5); // 8 beyond.jsのcurry(カリー化/引数固定+関数生成)メソッドで、好きな位置の引数を固定できる旨を読み、挙動確認のためコードを読む。 「変数名」の取得(以下コード例では、「abc や def など」)は、以下手順で行なわれていた。 関数の文字列化 引数定義部分の取得 カンマとスペースで切り分け コードは、以下。 function foo(abc, def){} var argNames = ("" + foo).match(/\(([^)]*)/)[1].split(/\s*,\s*/); これが許されるのがJavaScriptなのかと思った。これが許されるなら、なんでも有りじゃないか。自由だ
2006年10月22日23:20 カテゴリLightweight Languages javascript - Douglas Crockford on DOM うわあ、お宝。 Video Presentation: Douglas Crockford on the “Theory of the DOM” - The Web Standards Project Douglas Crockford, discoverer of JSON and JavaScript evangelist/veteran has given a training on the theory of the DOM lately and the videos are available on the web. あのDouglas Crockfordによるセミナー。Javascripterは全員必見! Dougla
HaskellScript is collective name for Haskell libraries and software that enable the integration of Haskell with the COM/ActiveX framework. It consists of: HaskellScript in specific is an ActiveX scripting engine for the functional language Haskell. HaskellScript is compatible with Internet Explorer 4, Word, Excel, the Windows scripting host and other ActiveX scripting hosts. HaskellScript featur
Scott Porter made a popular library for creating Javascript Games, called the Javascript Gamelib. It provided relatively simple routines for animation, sprites, collision detection and control. It meant games programmers could concentrate on designing games for websites instead of spending time rewriting the basic building blocks. Unfortunately, Scott's site at www.javascript-games.org has been di
Microsoft Paint is also known as MS Paint. It is a basic graphics drawing program that has been an indispensable part of all versions of the Microsoft Windows operating system. MSP provides easy ways for creating different types of graphics with different tools. The tools include brushes, shape generators, pens, and erasers. Many users of Windows might also be unaware of its presence, considering
JavaScriptは、typeof nullが"object"だったり、typeof new String("foo")が"object"だったり、"foo" instanceof Stringがfalseだったりする。 なので、それらをまとめて下のような関数にして、ビットマスクを使って目的の型かどうかを確認できるようにする。 var Type = { OBJECT: 0x01, ARRAY: 0x02, STRING: 0x04, FUNCTION: 0x08, NUMBER: 0x10, BOOLEAN: 0x20, UNDEFINED: 0x40, NULL: 0x80, getType: function getType(object) { var ret = 0x00; if (object instanceof Object) ret |= 0x01; if (object
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く