linkのhrefを変えるとCSSをダイナミックに読み込んでくれる
ので、このブログを前のデザインで見たくなったら
javascript:document.getElementsByTagName('link')[5].href='/theme/nimbus/nimbus.css';void 0;
というブックマークレットを実行。
上のブックマークレットはおそらくどのはてなダイアリーでも使える。Greasemonkeyスクリプトにすればデザインを固定できる。
___defineSetter___とか___defineGetter__
事の発端
普通に値を返す関数とか、引数をセットする関数とか定義するのとなにが違うのかな・・・。
値を返す、セットする関数っていうのを明示するため?よく分からない。
HTMLElement.prototype.__defineGetter__('innerText',function()this.textContent); document.body.innerText;
と思ったら関数じゃないから呼ぶときに()をつけなくていいのか。
でも、
HTMLElement.prototype.innerText= ( function(){ return this.textContent; } )(); document.body.innerText;
じゃだめなのかな。と思ったらこれじゃ動かない。thisがwindowになっちゃう。
結論
やっぱ必要だ__defineGetter__。__defineSetter__も同じ。
Firefox Add-onsのページの紹介文がHTMLむき出しっぽくなっているのを直すGreasemonkey
// ==UserScript== // @name Firefox Add-ons fix // @namespace http://d.hatena.ne.jp/javascripter/ // @description 紹介文がHTMLむき出しっぽくなっているのを直す // @include https://addons.mozilla.org/ja/firefox/* // ==/UserScript== var pageIntro=document.getElementsByClassName('page-intro')[0]; pageIntro.innerHTML=pageIntro.textContent;
Infinity-InfinityはNaN
InfinityやNaNについて。
0でもInfinityでも-Infinityでもなく、NaNになる。
Infinity/0はInfinity
Infinity*0はNaN
Infinity/InfinityもNaN
0/Infinityは0
1/Infinityも0
使い道は特に見当たらない。
関係ないけど、
NaN==NaNはfalseになる。NaN!=NaNがtrueっていうのも納得がいかない。
isNaN(NaN)はtrueも、isNaN('foo')もtrue。