(笔记) javascript 继承
来源:互联网 发布:阿里云不能开启gpu 编辑:程序博客网 时间:2024/06/02 03:15
/** * 当该函数中有一个参数的情况下创建类 * 当该函数中有两个参数的情况下,第一个参数是基类,第二个参数就是在基类的基础上添加的内容。 */function extend(obj, prop){function F(){}/** * 当第一次调用extend方法的时候,obj是一个json格式的对象。 */if(typeof obj == "object"){// 这时obj是一个obj,obj代表的是一个json格式的对象。for(var name in obj){F.prototype[name] = obj[name];}} else{F.prototype = obj.prototype;// 这时,obj就是个函数了,obj所代表的是Person。把该函数的原型赋值给F的原型,这个时候F的原型就拥有obj的原型中的所有的内容了。for(var name in prop){F.prototype[name] = prop[name];}}return F;}// 这里的person是一个function,以为extend的返回值是一个F,F是一个functionvar Person = extend({name:"刘KKK",id:4});alert(typeof Person);var SupPerson = extend(Person, {sex:"男"});var sp = new SupPerson();//alert(typeof sp); objectalert("name: " + sp.name);alert("id: " + sp.id);alert("sex: " + sp.sex);/** * 总结: * 1、在此案例中先定义了一个函数function extend(obj, prop). * 2. 当第一次调用该函数时,只传递一个参数,也就是var Person = extend(obj={json格式的对象});,也就是说Person就成了一个函数(或者说类). * 可以写成 * var Person = function(){}.其中Person.prototype也就有了传递进去的参数。 * 3. 这个时候,extend()就完成了它的第一次革命任务。 * ================================================================================================== * 4. 当第二次调用extend时,传递了两个参数。 * 这时,把Person当做参数传递到该函数。obj代表的Person就是一个function了,而不是一个object了。 * 5. 然后,通过F.prototype = obj.prototype;该动作把obj代表的Person的prototype交个了F。F就拥有了Person原型的内容了 */
0 0
- JavaScript笔记(继承)
- (笔记) javascript 继承
- 《JavaScript学习笔记》:继承
- Javascript笔记-JavaScript中的继承
- JavaScript学习笔记(5)---继承
- JavaScript学习笔记之继承
- JavaScript学习笔记3-JavaScript中的继承
- 《JavaScript高级程序设计》学习笔记(继承)
- javascript学习笔记(二)--继承
- 《悟透javascript》学习笔记:X、深入继承
- javascript 学习笔记(5)---继承
- java web学习笔记(javascript继承)
- Javascript 笔记(4)----继承与原型链
- JavaScript学习笔记(三十一) 经典继承模式
- JavaScript学习笔记——继承
- JavaScript学习笔记(三十七) 原型继承
- JavaScript学习笔记(三十八) 复制属性继承
- JavaScript 学习笔记八 继承与引用
- 利用CSS让元素垂直居中的两种实现方法
- Apache转发配置
- struts2文件上传的实现
- iOS工程迁移至xcode5 适配iOS7 代码修改 (持续更新)
- java中hashcode()和equals()的详解
- (笔记) javascript 继承
- [android源码分析]enable_native中的hci dev注册和up
- Linux下安装Oracle11g服务器_redhat适用
- Hadoop实战-初级部分 之 HDFS
- Activemq使用介绍
- X++ CODE TO GENERATE ALERT FOR RECORD IN DAX 2011
- SQL Server、Oracle、db2所提供的简装版(Express)比较
- Android java file.delete()不成功,返回false
- files_struct 与 struct file