function createClass(jsonObj) {
//任意类为F
function F() {
}
for (var name in jsonObj) {
F.prototype[name] = jsonObj[name];
}
return F;
}
var Person = createClass({
getName: function () {
alert("name");
},
getId: function () {
alert('Id');
}
});
//var p = new Person();
//p.getName();
//p.getId();
/*
当该函数有一个参数的情况下,创建一个新类
当该函数有两个参数的情况下,第一个参数是基类,第二个参数就是在这个基类上添加内容。
*/
function extend(obj,prop) {
function F() { }
if (typeof obj == "object") {
for (var name in obj) {
F.prototype[name] = obj[name];
}
} else {
F.prototype = obj.prototype;
for(var name in prop){
F.prototype[name] = prop[name];
}
}
return F;
}
var Person = extend(
{
name: "king of north",
id:6
}
);
var SuperPerson = extend(Person, { sex: "male" });
var sp = new SuperPerson();
alert(sp.name);
alert(sp.id);
alert(sp.sex);
js中继承的封装
最新推荐文章于 2023-07-14 20:40:49 发布