extend-关于js继承的问题,能帮助一下吗

问题描述

关于js继承的问题,能帮助一下吗

这段代码是在书上看到的,首先创建了一个监听器的父类

(function(win){

 var _EListener = win.EVentListener = Class.extend({

    init : function(){
        throw Error("This class must be inherited");
    }

 })

}(window))

然后在另外一个js文件中,创建了一个类来继承它

var _appEventListener = win.AppEventListener = EVentListener.extend({

    init : function(){
            //代码段
    }

});

在运行的时候提示Class 找不到 在查找了一些资料后 ,我将第一段代码修改成了

((function(win){
var _EListener = win.ELisetener = function(){return{

    init: function(){
        throw Error("This class must be inherited");
        }

    }}
})(window))

运行时发现 找不到EVentListener

如果想达到想要的效果 应该怎样修改代码? 有前辈能指点一下吗

解决方案

改成下面这样

 (function(win){
var _EListener = win.EVentListener = function(){return{
    init: function(){
        throw Error("This class must be inherited");
        }

    }}
})(window)

解决方案二:

http://www.cnblogs.com/liyatang/archive/2011/05/30/2062611.html

时间: 2024-09-08 11:51:07

extend-关于js继承的问题,能帮助一下吗的相关文章

Extjs中使用extend(js继承) 的代码_extjs

注:抄<深入浅出Extjs>书 传统的js实现继承操作为: 一:定义一个父类 复制代码 代码如下: var BaseClass = function(){ //..... }; BaseClass.prototype.someMethod = function(){ //..... }; BaseClass.prototype.overridenMethod = function(){ //.... } 为BaseClass定义两个函数someMethod 和overridenMethod ,

JS继承用法实例分析_javascript技巧

本文实例分析了JS继承的用法.分享给大家供大家参考.具体分析如下: 继承 : 子类不影响父类,子类可以继承父类的一些功能 ( 代码复用 ) 属性的继承 : 调用父类的构造函数 call 方法的继承 : for in :  拷贝继承 (jquery也是采用拷贝继承extend) 1. 拷贝继承 function Person (name){ this.name = name; } Person.prototype.showName =function (){ alert(this.name); }

Javascript学习总结:Js继承的两种方式

文章简介:总结就是利用对象冒充机制的call方法把父类的属性给抓取下来,而成员方法尽量写进被所有对象实例共享的prototype域中,以防止方法副本重复创建.然后子类继承父类prototype域来抓取下来所有的方法.如想彻底理清这些调用链的关系,推荐大家多关注Js中prototype的constru 一直想对Javascript再次做一些总结,正好最近自己写了一个小型Js UI库,总结了一下Js的继承机制,在网上也看了一些前辈们博客里的总结,感觉分析不是特别全面.这里仅仅是把自己的学习体会拿出来

采用call方式实现js继承_javascript技巧

复制代码 代码如下: //采用call方式实现js继承 function A(color) { this.Acolor = color; this.AshowColor = function() { document.writeln("Acolor: " + this.Acolor); } } function B(color, name) { A.call(this, color); this.Bname = name; this.BshowName = function() { d

js继承中的问题?toString()方法

问题描述 js继承中的问题?toString()方法 js中的原型的toString()方法,怎么理解呢?后面的call又是什么意思?谢谢大神们了 解决方案 由JS中toString()方法所想到的JS中的 toString 和 valueOf 方法继承中的构造方法,object类,toString类,equals方法

浅谈JS继承_寄生式继承 &amp; 寄生组合式继承_javascript技巧

5.寄生式继承 与寄生构造函数和工厂模式类似,创建一个仅用于封装继承过程的函数,该函数在内部以某种方式来增强对象,最后返回对象. function createAnother(original){ var clone = Object.create(original); //通过调用函数创建一个新对象 clone.sayHi = function(){ //以某种方式来增强这个对象 alert("Hi"); }; return clone; //返回这个对象 } var person

浅谈JS继承_借用构造函数 &amp; 组合式继承_javascript技巧

2.借用构造函数 为解决原型中包含引用类型值所带来的问题, 我们使用一种叫做 借用构造函数(constructor stealing)的技术(又叫伪造对象或经典继承). 这种技术的基本思想:在子类构造函数内部调用超类型构造函数. 通过使用apply()和call()方法可以在新创建的子类对象上执行构造函数. function SuperType(){ this.colors = ["red", "blue", "green"]; } functi

js继承实现方法详解_javascript技巧

本文实例讲述了js继承实现方法.分享给大家供大家参考,具体如下: var animal=function(name){ //构造函数 this.name=name; this.sayhello=function(){ alert("hi我是"+this.name); }; } animal.prototype.shout=function(){ //prototype主要作用:给类增加一个新的属性或函数 alert(this.name+"正在叫!"); }; ani

js继承的实现代码_javascript技巧

base.js --继承的实现========================== [注]:继承后,如果父类是一个类,则会继承其属性,方法(包括用prototype声明的),静态方法,否则只有属性和方法. 复制代码 代码如下: Object.prototype.extendf= function (a,b){ if(!a||!b) return; var fa = typeof a=="function"; var fb = typeof b=="function"