<script>

var points = {
 x:1,
 y:2
};

//alert(points.x + ":" + points["y"]);

function JaskClass(x, y) {
 
 this.x = x;
 this.y = y;
}

var jask = new JaskClass(1, 2);

JaskClass.prototype.r = function() {

 return this.x * this.y;
}
//alert(jask.r());

function  inherts(p) {
 
 if (p == null) {
  throw TypeError;
 }
 
 if(Object.create) {
  // 第一個引數是這個物件原型
  return Object.create(p);
 }
 
 var t = typeof p;
 
 if (t != "object" && type != "function") {
  throw TypeError;
 }
 
 function F(){};
 F.prototype = p;
 return new F();
}

var f = new inherts({x:1, y:2});

//alert(f.x + "  " + f.y);

//實現繼承
function extend(o, p) {
 for (prop in p) {
  o[prop] = p[prop];
 }
 return o;
}

var defaults = {x:1, y:2};

extend(defaults, {x:2});

alert(defaults.x);


</script>

Javascript的物件是名/值對的集合,可字串到值的對映集合。
通過.或[]的方式來訪問物件的屬性
JavaScript有二種資料型別:原始型別(字串、數字、NULL、bololean、undefined)和物件型別(陣列、函式)
如果一個函式用來初始化一個新建物件,我們稱之為建構函式

原型:每一個JavaScript物件(除NULL)都和另一個物件關聯,那麼“另一個”物件就是這個物件的原型,每一個物件都從原型繼承屬性;