var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
解决方案 »
- 关于document.write()?
- 为什么我在一个页面里面加上<script src="http://xxxx.com/js/ad.js"></script>,整个格式变乱了
- 动态添加的IFrame内容在Firefox中无法得到内容
- js 传递值的时候出现问题
- 为什么我这层怎么接触不上呢?有人可以给改改吗?onmouseover 和 onmouseout 的问题!
- 怎样在listbox中指定的位置插入数据?
- 菜鸟求教,jquery选择器的问题
- 怎么指定对记录进行修改、删除?
- 急!如何遍历页面上checkbox(各自的name不同)
- a标签的样式
- 这个小程序 错在哪呀?
- 如何禁用backspace。考虑在ie及firefox两种情况。
方法create返回的是什么?this指的是什么?apply怎么用?initialize是什么?(其实它可以是任何符合命名规范的一串字符)最后:var NewClass = Class.create(),这样创建类之后,这个类属于那种模式?
this.initialize.apply(this, arguments);
}
this指向调用它的对象,在这里应该是Window对象apply自己可以查一查,是函数调用方法
initialize是将来你要定义的函数,在这里还没有出现我对模式还不太了解,等待高人
var Class = {}// 定义 create 方法
create: function() { }// 返回匿名方法引用
return function() {
}// this 指向 匿名方法 的调用者。
// 调用 this 的 initialize 属性上的 apply 方法 ,并传入 当前的调用者,以及调用时穿入参数!
this.initialize.apply(this, arguments);
create: function() {
return function() {
alert(this);
this.initialize.apply(this, arguments);
}
}
}
function initialize(a,b,c){
alert(a+b+c);
}
Class.create()(1,2,3);
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
var class = Class.create(); class.prototype = {
initialize : function(a,b,c){
alert(a+b+c);
}
} new class(1,2,3);
参考9楼的代码吧。
楼主应该是只摘出了一小段代码,完整的代码应该是用来模仿创建class的。
涉及到javascript基于prototype机制的模拟面向对象编程方式。