JavaScript的继承的封装介绍_基础知识
程序员文章站
2022-03-16 18:45:28
...
复制代码 代码如下:
/**
* 当调用此函数时,只有第一次参数传入,第二个不存在的情况下,就创建类
* 当调用此函数时,传入了两个参数,第一个参数为基类,第二个参数则在基类的基础上添加内容
*/
function extend(obj,prop){
function F(){
}
//如果第一个参数为object类型(即json对象)的话,则将json的key value赋值给F函数的原型 F.prototype.key = value
if (typeof(obj) == "object") {
for(var name in obj){
F.prototype[name] = obj[name];
}
} else {//如果第一个参数为function类型的话,则将次函数的原型赋值给F函数,prop肯定是传值的(json对象),所以将prop赋值给F函数的原型
F.prototype = obj.prototype;
for(var name in prop){
F.prototype[name] = prop[name];
}
}
return F;
}
//因为这里只有一个参数,所以此时会将json对象的key,value赋值给extend函数中的F函数的原型,然后用person变量接收F函数,此时person也成为了一个函数,此函数也拥有了F函数的原型 name和sex
var person = extend({
name:"xxc",
sex:"man"
});
//将person函数传入,进入extend函数后,首先将person的原型赋值给F函数,然后将第二个参数hope:"more money"赋值给F函数,此时F函数的原型有三个东西name,sex,hope
//最后将F函数返回,导致person的原型也和F函数一样,有name,sex,hope
var person = extend(person,{
hope:"more money"
});
alert(person.prototype.name);//xxc
alert(person.prototype.sex);//man
alert(person.prototype.hope);//more money
复制代码 代码如下:
推荐阅读
-
使用UglifyJS合并/压缩JavaScript的方法_基础知识
-
javascript中的对象和数组的应用技巧_基础知识
-
林大妈的JavaScript基础知识(二):编写JavaScript代码前的一些简单工作
-
Javascript继承机制的设计思想分享_javascript技巧
-
详细介绍javascript使用prototype实现OOP继承的方法
-
javaScript对象和属性的创建方法_基础知识
-
JavaScript的ES3,ES5,ES6三种实现继承方式的教程
-
有关PHP中封装的PDO数据库操作类的相关介绍
-
JavaScript基础知识学习总结篇(每个知识点都附带上机的例子,而不是纯理论) 上,当前字数统计:12435
-
javascript学习笔记(二十) 获得和设置元素的特性(属性)_基础知识