object 属性 对象的继承 (原型, call,apply)

object 为一切对象的基类!

属性:
constructor: 对创建对象的函数的引用
Prototype: 原型(类型)

hasOwnProperty(property):判断对象是否有某个特定的属性

isPrototypeOf():判定该对象是否为另一个对象的原型!

instanceof(): 判定对象是否为另一个对象的类型

继承:call,apply

1.用原型实现:
function func1(){
  //代码
}

function func2(){
  // 代码
}
func2.Prototype = new func1();
var obj = func2();

2. call 方法
   obj.func.call(obj2[,"参数1",...])
   把 obj2的相关方法 func 放到 obj 上运行!

function func1(name){
  this.name = name;
  this.say = function(argument1){
   alert(this.name + argument1)
 }
}

function func2(){

}

var obj1 = func1("name");
var obj2 = func2();
obj2.say.call(obj1, "ok");

3.apply 方法
  与call只是传递的参数要以数组的形式传递不同,其余的一样
function func1(name){
  this.name = name;
  this.say = function(argument1){
   alert(this.name + argument1)
 }
}

function func2(){
  func1.apply(this, ["argument1"]);
}

posted @ 2013-07-08 13:13  好记性还真不如烂笔头  阅读(271)  评论(0编辑  收藏  举报