tonextone.com/note/

Last-modified: 2006-09-01 (金)

Copyright ©master_at_tonextone.com All rights reserved.

JS::Object その1

Posted : 2005-05-26 00:00 / Category : [開発日誌]
出回ってるJavaScriptライブラリをカスタムしてて、ちょっと混乱している。

こういうことか?
// 自前のコンストラクタでオブジェクトを作る。
MyObject = function(){};
myObject = new MyObject;

// いきなりオブジェクトを作る。
myObject = {};
で、
// 自前のコンストラクタでオブジェクトを作る。
MyObject = function()
{
  this.myProperty = 'プロパティ';

  // 直接登録。
  this.myMethod_1 = function() { /*メソッド*/ };

  // プロトタイプに登録。
  this.constructor.prototype.myMethod_2 = function() { /*メソッド*/ };

  // 同じ。
  MyObject.prototype.myMethod_3 = function() { /*メソッド*/ };
};

// ブロック外でも可。
MyObject.prototype.myMethod_4 = function() { /*メソッド*/ };

myObject = new MyObject;

// いきなりオブジェクトを作る。
myObject = {
  myProperty : 'プロパティ',
  myMethod : function() { /*メソッド*/ }
};

どう違うのか?
本質を理解すれば、違いが見えてくると思う。
これを読もう。
[ このエントリへはツッコミ出来ません ]