摘要: 用[对象冒充]继承ClassB的属性,用[原型链]继承ClassB对象的方法function ClassB(color){ this.color = color;}ClassB.prototype = { sayColor:function(){ console.log(this.color); } }function ClassA(acolor){ ClassB.call(this,acolor); //继承B的属性}ClassA.prototype = new ClassB(); //继承B的方法var oA = new ClassA(... 阅读全文
posted @ 2012-05-28 15:03 o0Luffy0o 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 关键是把 ClassB 的 prototype 属性设置成 ClassA 的实例。function ClassB(color){ this.color = color; this.sayColor = function(){ console.log(this.color); }}function ClassA(name){ this.name = name; this.sayName = function(){ console.log(this.name) }}//这一句,就让A继承了B的所有属性和方法ClassA.pro... 阅读全文
posted @ 2012-05-28 14:33 o0Luffy0o 阅读(288) 评论(0) 推荐(0) 编辑
摘要: function ClassA(color){ this.color = color; this.sayColor = function(){ console.log(this.color); }}function ClassB(name){ this.name = name; this.sayName = function(){ console.log(this.name) }}//通过对ClassA、ClassB使用CALL方法,改变其THIS的指向,让其this指向被实例化的C这个新对象,从而让C的实例能够创建出A和... 阅读全文
posted @ 2012-05-28 12:42 o0Luffy0o 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 因为鼠标没有拖动事件(按下鼠标并移动),只有按下,抬起,移动。记得在之前的一个"拖动层"的随笔中,我实现拖动,是用的一个布尔变量,判断是否可以拖动某元素。这两天看了一些东西,发现不需要设这个布尔变量;实现过程:按下鼠标的时候,给文档对象(当然也可以是别的DOM对象)的移动事件绑定一个处理函数,同时也给鼠标抬起时绑定一个解除的处理函数。//按下鼠标并移动时(拖动),调用的函数; function startSelection(event){ …… }//解除移动时的处理函数; function cancelSelection() { $(docume... 阅读全文
posted @ 2012-05-28 11:28 o0Luffy0o 阅读(647) 评论(0) 推荐(0) 编辑