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"]);
}