2007-02-01から1ヶ月間の記事一覧

JavaScriptでUndoRedoするためのなにか

方法論? ふとJavaScriptでUndoRedo機構がエレガントにつくれないかと思ってなんかごさごさやっていたんですがそれっぽいものができたのでアプローチをポスト。UndoRedo機構つくる為の方法論としていくつか考えてみました。 前やったことの逆算。次やることの…

scope chain

いまさらながらスコープとスコープチェーンの話。スコープチェーンについて分かったつもりになっていたのですが以下のサンプルコードのfooの値は○○○だ!って思ってたけど違った。 foo = 'hoge'; function hoge(){ var foo = 'foo'; function foo(){}; alert(…

OperaとhasOwnProperty

Opera8では o = {1:1, 3:3, 5:5, foo:'foo'}; for(i in o){ alert(o.hasOwnProperty(i)); // false, false, false, true }; o.hasOwnProperty(1); // true o.hasOwnProperty('1'); // false fxやieでは for(i in o){ alert(o.hasOwnProperty(i)); // true, t…

サビタイジング

サビタイジング 脳は少ない数(3個〜4個)であれば一瞬で把握できる。これは通常の数え上げるということよいも早くできる。ある数を数え上げるときには3個や4個とそれ以上では数え上げにものすごく時間がかかる。この現象のことをサビタイジングという。 イン…

document.writeハック

ハックその1 document.write = function() { var arg = []; var scripts = document.scripts; for(var i=0,f=arguments.length;i

fxでdocument.scripts対応となんか

fxでdocument.scripts対応 id:shogo4405:20070206:1170741017でfxは非対応なんだかんだといっていますがdocument.scriptsはdocument.getElementsByTagName('script')とニアリーイコールなので以下のコードを任意の場所に追加することでfx系でdocument.script…

document.scriptsと自分自身が属するscript要素を取得

IE(確か5からある気がす)とOpera(8で確認)は document.scripts というものがあります。これってdocument.getElementsByTagName('script')で取得できる奴と同等(まったく同じではない)です。まぁfxにはないけど…(fxでも対応させられるけど…) <html> <head> <script id="foo"> alert(documen</script></head></html>…

insertAdjacent.js

どっかで見たことあるんですが見つからない…というわけでfxでinsertAdjacent系が利用できるものをつくりました。これ使ってdocument.writeハックするとなんか面白いことできそうです。ちなみにinsertAdjacent系はIEとOperaでは利用可能です。お持ち帰りでお…

java.lang.StringとString.prototypeの関係

命名規則でクラスについては大文字それ以下は小文字というルールを決めているのでPHPとかでいうucfirst関数を書いているのですが型がJavaのjava.lang.StringだとcharAtを利用するとうまく行かないという話。jrunscriptで検証。 String.prototype.ucfirst = f…