JSON面向对象
用JSON可以方便的创建一个面向对象函数。
但是它只适合,只有一个对象的情况。
var json = {
name: 'Tim';
age: "22";
showName = function (){
alert("我的名字是:"+this.name);
}
showAge = function (){
alert("我的年龄是:"+this.age);
}
}
命名空间
避免因重名,导致变量、函数被覆盖。
方法:匿名函数、函数名前加上每个对象的名称。
继承
继承父级属性
使用call()方法,
call有至少2个参数,第一个参数是this指向的对象,第二个参数是传进去的参数。
语法:
父类.call(子类的实例对象,参数1...)
实例:
//父类属性
function Father(){
this.name = "Tim";
}
//父类方法
Father.prototype.show = function (){
alert(this.name);
};
//子类
function Son(){
//继承
//这里的this——>new Son() 子类的 实例对象
Father.call(this);
}
//创建子类实例对象
var obj = new Son();
alert(obj.name); //Tim
继承父级方法
使用for-in循环,把父类原型上的内容赋给子类。
实例:
for (var i in Father.prototype){
Son.prototype [i] == Father.prototype [i];
}
注意:
千万不能写成下面的形式,因为在js里”=“其实是引用,
这样做会导致父类、子类原型指向同一个区域,并最终导致父类跟子类融为一体。
Son.prototype [i] = Father.prototype [i]