读书人

帮忙看个js代码看看有关问题在哪多

发布时间: 2013-03-19 17:22:05 作者: rapoo

帮忙看个js代码,看看问题在哪,谢谢你们


function Base() {}

Base.extend = function(obj) {
//第一层构造
var Class = obj['constructor'];
//遍历并给于
for(var i in obj) {
if(i != "constructor") {
Class.prototype[i] = obj[i];
}
}
//提供base方法调用父类的构造
Class.prototype.base = function() {
obj['constructor'].apply(this, arguments)
}
Class.entend = function(objChild) {
var ChildClass = objChild['constructor'];
//遍历并给于
for(var i in objChild) {
if(i != "constructor") {
ChildClass.prototype[i] = objChild[i];
}
}

return ChildClass;

}
return Class;
}

var Person = Base.extend({
constructor: function(name) {
this.name = name;
},
getName : function() {
return this.name;
}
});

var User = Person.extend({
constructor: function(name, password) {
this.base(name);
this.password = password;
},
getPassword : function() {
return this.password;
}

});


var user = new User("Jack", "123");

alert(user.getName())

constructor function javascript
[解决办法]

function Base() { }

Base.extend = function (obj) {
//第一层构造
var Class = obj['constructor'];
//遍历并给于
for (var i in obj) {
if (i != "constructor") {
Class.prototype[i] = obj[i];
}
}
//提供base方法调用父类的构造
Class.prototype.base = function () {
obj['constructor'].apply(this, arguments)
}
//Class.entend//方法名称写错
Class.extend = function (objChild) {
var ChildClass = objChild['constructor'];
//===============================没有添加之类的base方法
//提供base方法调用父类的构造
ChildClass.prototype.base = function () {
objChild['constructor'].apply(this, arguments)


}
//===============================没有继承父类的prototype方法
for (var i in Class.prototype) {
ChildClass.prototype[i] = Class.prototype[i];
}
//===============================
//遍历并给于
for (var i in objChild) {
if (i != "constructor") {
ChildClass.prototype[i] = objChild[i];
}
}

return ChildClass;

}
return Class;
}

var Person = Base.extend({
constructor: function (name) {
this.name = name;
},
getName: function () {
return this.name;
}
});
var User = Person.extend({
constructor: function (name, password) {
this.base(name);
this.password = password;
},
getPassword: function () {
return this.password;
}

});

var user = new User("Jack", "123");
alert(user.getName())

读书人网 >JavaScript

热点推荐