您的位置:首页 > Web前端 > JavaScript

js 各种奇葩写法2

2012-07-11 16:35 113 查看
首先介绍js两个逆天原生方法 apply call

先看一段代码

function a1(a,b,c)

{

alert(a + b + c);

this.AA = a;

this.BB = b;

this.CC = c;

}

function a2(a,b,c)

{

// a1.apply(this, arguments);

a1.call(this, 1, 2, 3);

}

var tema = new a2(1, 2, 3); 这时会弹出6

alert(tema.AA); 这时弹出 1

a1.apply(this, arguments);

这句话的意思是,执行a1这个方法,而参数确用this这个方法所用到的参数,

基于这个原理就有人发明了class这个方法



var Class = function ()

{

var klass = function ()

{

this.init.apply(this, arguments);

};

klass.prototype.init = function () { };

return klass;

}

var Prevson = new Class;

Prevson.prototype.init = function (i)

{

alert(i);

}

var person = new Prevson(5);

我们成功做出来了一个构造函数,当new Rrevson的时候,就会执行init这个方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: