タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

OOPと*javascriptに関するcyokodogのブックマーク (5)

  • 多段継承できるクラス生成関数を頑張って作りました - ?D of K

    JavaScriptでクラスを作るのは簡単なのですが、継承したり、オーバーライドしたメソッドを簡単に呼び出すとなると途端にレベルが上がります。 ChromeやFirefoxで使うので、関数呼び出し多めでも大丈夫(IE6でも動くけど) this.parent.method()で親クラスのメソッド、this.parent.parent.method()で祖父クラスのメソッドが呼べる this.parent.variableで親クラスのインスタンス変数とかはついていないです という感じで、頑張って作ってみた。 使い方 var A = $_klass({ init: function () { print("A init"); }, // コンストラクタ hoge: function () { print("A hoge"); }, huga: function () { print("A hug

    多段継承できるクラス生成関数を頑張って作りました - ?D of K
  • ”継承”のヒント - 趣味の延長線

    Javascriptでも”オブジェクト化”意識で悩み中。 特に”継承”。 ”何かキーになりそうな”URL、メモ。 (12/10 URL追加) jQuery.extendとjQuery.fn.extend jQuery.extend(object) - jQuery 日語リファレンス jQuery.fn.extend(object) - jQuery 日語リファレンス jQuery.extendとjQuery.fn.extendの違い - こんにちはこんにちはmonmonです! http://allabout.co.jp/internet/javascript/closeup/CU20071120A/index2.htm(jQuery.fnの使い方) jQueryプラグインの作り方 Plugins | jQuery Learning Center jQueryで”継承” jQuery 開

    ”継承”のヒント - 趣味の延長線
  • Kanasan.JS JavaScript 第 5 版読書会 #4: Days on the Moon

    Kanasan.JS の JavaScript 第 5 版 (サイ) 読書会 #4 に行ってきました (参加者のブログ記事一覧、当日のチャットログ)。 会場、設営 開始 15 分ほど前に会場に着いたのですが人気なし。特に名前のない貸し会議室とのことで、当にここであってるのか Twitter で他者の動向を探ろうとするも、運悪く Twitter がダウン中。携帯から必死に地図を探していたところにほかの人が到着して一安心となりました。 開始時点で Windows マシン使用者が私を含めて 2 人という脅威のMac率でした。無線 LAN の共有も Mac 機を主体に行われ、そのせいか Windows 機では無線 LAN が利用できず。私は結局 Kanasan さんの EMOBILE 端末を借りてネットに接続しました。 クラス JavaScript にクラスベースオブジェクト指向言語でいうとこ

  • JavaScript の new 演算子の意味: Days on the Moon

    JavaScript における new 演算子の動作は大まかにいって以下のとおりである。(new F() とした場合。) 新しいオブジェクトを作る。 1 で作ったオブジェクトの [[Prototype]] 内部プロパティ (__proto__ プロパティ) に F.prototype の値を設定する。 F.prototype の値がオブジェクトでないのなら代わりに Object.prototype の値を設定する。 F を呼び出す。このとき this の値は 1 で作ったオブジェクトとし、引数には new 演算子とともに使われた引数をそのまま用いる。 3 の返り値がオブジェクトならそれを返す。そうでなければ 1 で作ったオブジェクトを返す。 ここで「オブジェクトである」というのはプリミティブ値 (文字列、数値、真偽値、undefined 、null) ではないということだ。new Stri

  • クラスの継承の仕方 - 教えて!goo

    JavaScriptにはクラス定義がないので、プロパティとメソッドを動的に継承しなければなりません。 プロパティは、コンストラクタから親のコンストラクタを呼び出すことで継承します。 ただし、その際 this のメソッドとして呼ばないと、親コンストラクタでの初期化が自分に反映されません。親コンストラクタをメソッドとして呼び出すには、 > call(または apply)メソッドを使い、「親コンストラクタ.call(this, 引数...)」とする。 または > 一時的に親のコンストラクタをプロパティに登録し、実行後に削除する。 という方法を取ります。 メソッドは、親の prototype を自分の prototype にコピーすることで継承します。 ただし、prototype はオブジェクトなので単に代入すると親のものを参照するようになってしまい、メソッドの追加

  • 1