Cet article explique principalement en détail la méthode d'héritage JavaScript et la partage principalement avec vous sous forme de code. J'espère qu'il pourra vous aider.
1, hérite de la fonction outil
/** * @param {String} className * @param {String/Function} superClass * @param {Function} classImp */ function $class(className, superClass, classImp){ if (superClass === '') superClass = Object; function clazz() { if (typeof this.init == "function") { this.init.apply(this, arguments); } } var p = clazz.prototype = new superClass(); var _super = superClass.prototype; window[className] = clazz; classImp.apply(p, [_super]); }
et définit la classe parent Person
/** * 父类 Person */ $class('Person','',function(){ this.init = function(name){ this.name = name; }; this.getName = function(){ return this.name; }; this.setName = function(name){ this.name = name; } });
sous-classe Man
/** * 子类 Man */ $class('Man', Person, function(supr){ this.init = function(name, age){ supr.init.apply(this,[name]); // 该句很重要 this.age = age; }; this.getAge = function(){ return this.age; }; this.setAge = function(age){ this.age = age; }; }); var m = new Man('Jack',25); console.log(m.name); // Jack console.log(m.age); // 25
à partir de la sortie, vous pouvez voir que la sous-classe Man hérite effectivement des propriétés et des méthodes de la classe parent.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!