var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}
var Drag = Class.create();
Drag.prototype = {
//拖放对象,触发对象
initialize: function(obj, drag, options) {
var oThis = this;
this._obj = $(obj);//拖放对象
this.Drag = $(drag);//触发对象
this._x = this._y = 0;//记录鼠标相对拖放对象的位置
//事件对象(用于移除事件)
this._fM = function(e){ oThis.Move(window.event || e); }
this._fS = function(){ oThis.Stop(); }
this.SetOptions(options);
this.Limit = !!this.options.Limit;
this.mxLeft = parseInt(this.options.mxLeft);
this.mxRight = parseInt(this.options.mxRight);
this.mxTop = parseInt(this.options.mxTop);
this.mxBottom = parseInt(this.options.mxBottom);
this.onMove = this.options.onMove;
this._obj.style.position = "absolute";
addEventHandler(this.Drag, "mousedown", function(e){ oThis.Start(window.event || e); });
},还是不是 很明白 这两个之间 到底是一种怎样的关系 ,我的理解是,Class 是一个专门创建各种类 的 对象,剩下的就不是很理解了···
解决方案 »
- 请各位朋友帮忙看下这个啊 怎样用select控制文本框的即时更新???
- apply 问题
- javascript写的cookie保存在哪里
- 100分技术问题,不会太难
- 关于IFRAME的问题,谢谢:》
- 简单验证,文本框输入内容是否为空或非数字,竟感觉表单好象根本没理验证程序,困惑中,在线等,内附全部代码,另存为HTM即可调试!
- 校验非法字符的正侧表达式
- 点击一个链接以后 不提示“打开”和“保存“ 面直接用软件打开该文件呢 毕如说我链接啦一个autocad的源文件 客户端占击以后 真接调用客户
- easyui tabs hideheader 用法
- easyui datagrid 点击行改变选中行的高度
- 关于JS失去焦点再获取焦点的问题
- 关于table点击取出单元格值
用this.initialize去代替this去执行一下方法,
简单来说
var a={name:"haha"};
function b(){alert(this.name);}
var test = function() {
return b.apply(a,arguments);
};
test();
但是,这里为什么要return
var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
} }
}
create: function() {
return function() {
this.initialize.apply(this, arguments);
} }
}
那么这里的this代表的是
function() {
this.initialize.apply(this, arguments);
}
如果var Class = {
create: function() {
return
this.initialize.apply(this, arguments);
}
}
那么this代表create,而不是一个全新的对象了
那 aa此时是不是就是等于create 里面返回的那个函数对象?
以后应该是var Drag_1=new Drag("123", "345", options);
var Drag_2=new Drag("123", "345", options);而不用
var Drag_1=new Drag();
Drag_1.initialize("123", "345", options);
create : function() {
return function() {
this.initial.apply(this, arguments);
}
}}
var test = Class.create();
test.prototype = {
initial : function() {
alert("ccccccccc"); }
}
var test1 = function(){
var test2 = new test();
}<input type="button" onclick="test1();"没有效果,帮我分析下。。
alert也能出来.对象也能建立.应该没什么问题
this.Limit = !!this.options.Limit;
这后面两个!!是什么用意啊?
还有
this._fM = function(e){ oThis.Move(window.event || e); }
我发现一般是 || + 一个对象 是什么意思?
!!1
!!0
!!""
任何型的双非都会转化成boolean型
---------------------
oThis.Move(window.event || e); 这是兼容
也就是说,如果有window.event就将window.event当参数传进去
如果有e就将e当参数传进去
这和
function get(e){
var ee=window.event || e;
}
是一个道理