2016年2月6日

javascript

面向对象

自执行函数

(function () { /* code */ } ()); // 推荐使用这个
(function () { /* code */ })(); // 但是这个也是可以用的

命名空间

zns.common.getUser=function ()
{
    alert('a');
};

zns.fx.getUser=function ()
{
    alert('b');
};

zns.site.getUser=function ()
{
    alert('c');
};

zns.common.getUser();
zns.fx.getUser();
zns.site.getUser();

继承

call()可以改变this的指向。

function show(a, b)
{
    alert('this是:'+this+'\na是:'+a+'\nb是:'+b);
}

//show(12, 5);


//第一个是**call**的指向。
show.call('abc', 12, 5);

继承

function A(){
    this.abc=12;
}
A.prototype.show=function(){
    alert(this.abc);
}

//继承A的属性
function B(){
    //this->new B()
    A.call(this);
}
var obj=new B();
alert(obj.abc);//12


//继承方法
B.prototype=A.prototype;//会引用相同的内容
var obj=new B();
obj.show();//12
//B.prototype=A.prototype;
//会引用相同的内容
//
//不引用复制
for(var i in A.prototype){
    B.prototype[i]=A.prototype[i];
}

Last updated