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这个方法
先看一段代码
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这个方法
相关文章推荐
- js 各种奇葩写法
- js 判断各种数据类型 了解js的都知道, 有个typeof 用来判断各种数据类型,有两种写法:typeof xxx ,typeof(xxx) 如下实例:
- js奇葩写法解说
- js函数的各种写法与调用
- JQ兼容各种JS库的写法
- JS中各种奇葩的匿名函数写法
- 转:js在ie和ff中的一些差异写法
- html特殊字符的html,js,css写法汇总
- js 判断窗口刷新和关闭,分各种情况
- js 验证各种格式类型的正则表达式(相信能用到)
- 删除提示确认是否删除javascript/js的写法以及封装为jQuery插件
- js读取table内容的写法
- JS 获取各种屏幕大小位置
- Mybatis中模糊查询的各种写法
- 菜鸟成长记-各种奇葩错误总结
- SQL各种写法的效率问题
- js实现的各种排序算法
- Android/iOS 和js的交互的兼容性写法
- Android WebView JS 交互 以及 传各种类型到JS函数
- js自执行函数的几种不同写法的比较