var Class = {
create: function() {
return function() { this.init.apply(this, arguments); };
}
};
var Drag = Class.create();
为什么这么创建对象?求高手释疑
var Class = {
create: function() {
return function() { this.init.apply(this, arguments); };
}
};
var Drag = Class.create();
为什么这么创建对象?求高手释疑
this.init.apply(this, arguments);
的含义是调用 this对象的init函数,将外层函数的参数传递给init函数。
例如:
var Class = {
create: function() {
return function() { this.init.apply(this, arguments); };
}
};
var a = {
drag: Class.create(),
init: function(aa){
console.log(aa);
}
};
a.drag(123);
至于你给出的代码中的var Drag = Class.create();
可能要结合你的上下文代码来看具体的作用。单就这一段代码来看是没什么用的。
看Class.create();的返回内容,要赋值给一个具有init函数的对象上才有用。