javascript 类对象的应用

类对象继承的实现

先创建一个父级对象Drag

/**
 * @author zhaoshaobang
 */
function Drag(id){
<span style="white-space:pre">	</span>var _this=this;
<span style="white-space:pre">	</span>this.oDiv=document.getElementById(id);
<span style="white-space:pre">	</span>this.disX=0;
<span style="white-space:pre">	</span>this.disY=0;
<span style="white-space:pre">	</span>this.oDiv.onmousedown=function(evt)
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>_this.downFn(evt);
<span style="white-space:pre">	</span>};
};
Drag.prototype.downFn=function(evt){
<span style="white-space:pre">	</span>var e=evt||event;
<span style="white-space:pre">	</span>var _this=this;
<span style="white-space:pre">	</span>this.disX=e.clientX-this.oDiv.offsetLeft;
<span style="white-space:pre">	</span>this.disY=e.clientY-this.oDiv.offsetTop;
<span style="white-space:pre">	</span>document.onmousemove=function(evt){
<span style="white-space:pre">		</span>_this.moveFn(evt);
<span style="white-space:pre">	</span>};
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>document.onmouseup=function(evt){
<span style="white-space:pre">		</span>_this.upFn(evt);
<span style="white-space:pre">	</span>};
};
Drag.prototype.moveFn=function(evt){
<span style="white-space:pre">	</span>var e=evt||event;
<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>this.oDiv.style.left=e.clientX-this.disX+'px';
<span style="white-space:pre">	</span>this.oDiv.style.top=e.clientY-this.disY+'px';
<span style="white-space:pre">		</span>
};
Drag.prototype.upFn=function(){
<span style="white-space:pre">	</span>document.onmousemove=null;
<span style="white-space:pre">	</span>document.onmouseup=null;
};

在创建一个子集对象,并设置拖拽范围

/**
 * @author zhaoshaobang
 */

//继承属性

function LimitDrag(id)
{
	Drag.call(this,id);//Drag中的this会变为LimitDrag
}
//  继承父级方法
for(var i in Drag.prototype)
{
	LimitDrag.prototype[i]=Drag.prototype[i];
}

LimitDrag.prototype.moveFn=function(evt){
	var e=evt||event;
	var i=e.clientX-this.disX;

	if(i<0)
	{
		i=0;
	}
	else if(i>document.documentElement.clientWidth-this.oDiv.offsetWidth)
	{
		i=document.documentElement.clientWidth-this.oDiv.offsetWidth;
	}
	this.oDiv.style.left=i+'px';
	this.oDiv.style.top=e.clientY-this.disY+'px';
};

运行结果如下图

时间: 2024-08-07 15:53:48

javascript 类对象的应用的相关文章

ExtJS教程(2)--- Javascript类和对象基础知识

Javascript中的类其实就是一个function 如下面定义一个Person类 //定义一个类 function Person(){ this.name = 'jaune'; this.age = 18; } //创建一个对象 var person1 = new Person(); console.log(person1); /* * 控制台打出以下内容 * Person {name: "jaune", age: 18} */ 上面是一个简单的定义类及创建类的方法 //定义一个带

自己理解的javascript 的对象和类理解

首先需要先理解类和对象的意义,我个人理解如下: 类:对象的抽象化: 对象:类的实体: javascript中没有class关键字和类的用法,只能用伪类来做类的,所以要用function来定义累的名字: 如: function myClass(){ this.name="张三"; } 这样myClass方法才能用原型连接 prototype:这样才能扩展此类: 也可以用 new myClass();这个类 javascript中有对象,简单的写法就是 var obj={name:&quo

javascript函数中的实例对象、类对象、局部变量(局部函数)

定义 function Person(national,age) { this.age = age; //实例对象,每个示例不同 Person.national = national; //类对象,所用实例公用 var bb = 0; //局部变量,外面不能访问(类似局部函数) } 调用 var p = new Person("中国", 29); document.writeln("age:" + p.age); document.writeln("obj

javascript 类数组对象

原文:https://segmentfault.com/a/1190000000415572 定义: 拥有length属性,其他属性(索引)为非负整数(对象中的所有会被当做字符串来处理,这里你可以当做是个非负整数串来理解) 不具有数组所具有的方法 类数组示例: var a = {'1':'gg','2':'love','4':'meimei',length:5}; Array.prototype.join.call(a,'+');//'+gg+love++meimei' 非类数组示例: var

javascript 的对象

所有事物都是对象 JavaScript 提供多个内建对象,比如 String.Date.Array 等等. 对象只是带有属性和方法的特殊数据类型. 布尔型可以是一个对象. 数字型可以是一个对象. 字符串也可以是一个对象 日期是一个对象 数学和正则表达式也是对象 数组是一个对象 甚至函数也可以是对象 JavaScript 对象 对象只是一种特殊的数据.对象拥有属性和方法. 访问对象的属性 属性是与对象相关的值. 访问对象属性的语法是: objectName.propertyName 这个例子使用了

Objective-C对象之类对象和元类对象

作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/8592492 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢! 作为C语言的超集,面向对象成为Objective-C与C语言的最大区别,因此,对象是Objective-C中最重要的部分之一.目前面向对象的语言有很多,Objective-C中的对象又和其他语言中的对象有什么区别呢?下面来简单介绍Objectiv

JavaScript的对象——灵活与危险

没有哪种数据结构比JavaScript的对象更简单灵活了.作为一个弱动态类型语言,JavaScript对对象的属性没有任何约束, 这带来的结果就是,在使用的时候很爽,想加啥属性直接加上去就行了,根本没有类或模板的限制, 想读啥属性直接"点"出来就行了,写出来那是相当简洁:然而这样的代码在运行的时候呢-- JavaScript这种灵活性最大的一个问题也是没有约束.比如一个网店系统有两个部分,一部分产生订单对象, 另一部分拿到订单对象来展示.咱们前端程序员自然是干后面展示那部分事儿的,比如

javascript类的简单定义

在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称"实例")共有的属性和方法. Javascript语言不支持"类",但是可以用一些变通的方法,模拟出"类". 一.构造函数法 这是经典方法,也是教科书必教的方法.它用构造函数模拟"类",在其内部用this关键字指代实例对象. function Cat() { this.name = "大毛"; } 生成实例的时候,使用ne

JavaScript中对象类型的转换小结

对象到字符串和对象到数字类型的转换涉及到两个重要的方法,最终的转换结果会受到这两个方法返回结果的影响,这两个方法就是toString和valueOf.所有的对象都会从Object对象中继承到这两个方法.toString方法 用于返回对象的字符串表示(但是其实也可以不返回字符串).对于默认从Object继承而来的toString方法并不会返回太多有意义的内容.而valueOf方法目的是返回一个可以表示对象的原始类型值,但是由于对象的复杂性,大多数情况下根本不可能用一个原始类型值来表示,所以默认的v