素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter すかいぷ:javascripter_ , javascripter あっと tsukkun.net twitterにどうぞ。

___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__も同じ。