タグ

javascriptとprototypeに関するnabetamaのブックマーク (2)

  • webdevlog » Blog Archive » 順を追って学ぶ JavaScriptのプロトタイプ継承

    1. プロトタイププロパティを使わないオブジェクトの作り方 順を追って学ぶ JavaScriptのプロトタイプ継承 其の壱 – jsdo.it – share JavaScript, HTML5 and CSS Line: 15 ここで知っておくべきことは、thisに代入されるのは関数Trapezoidだということ。 オブジェクト(この場合だとTrapezoid)が生成されると自動的に当該オブジェクトがthisに代入される。 次に this.a = a; とか this.b = b; して、コンストラクタ関数が受け取ったパラメータを、オブジェクトのプロパティに代入している。 Line: 20 this.areaにメソッドを代入しているのだけど、これはコメント通りうまいやり方ではない。なぜかというと、もしこのオブジェクトを幾つも作った場合、この全てのメソッドがこのプロパティを持ってしまう

  • prototype汚染問題でhasOwnPropertyを使わないクロスブラウザな方法 - os0x.blog

    いちいちhasOwnPropertyを使わなくてよくする(ジェネレータの使いかた) - 素人がプログラミングを勉強していたブログについて。 2回ループするid:javascripter にジェネレータ使ってるから「2回」ってことはないとツッコマレタ。その通りですね。のは気になるのと、クロスブラウザにしつつ、微妙な高速化*1。 元ネタは指定したエレメントを非表示にするuser js書いた - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥で使われていた関数から。 //適当にArrayを拡張 Array.prototype.del = function(index){ return this.slice(0,index).concat(this.slice(index+1)) }; var a = [1,2,3]; var __A = []; // 空の配列 f

    prototype汚染問題でhasOwnPropertyを使わないクロスブラウザな方法 - os0x.blog
  • 1