当前位置: 首页 > news >正文

宝坻手机网站建设搜题公众号怎么制作

宝坻手机网站建设,搜题公众号怎么制作,电梯网站建设,做彩票网站服务器这两天真的一直在看原型以及继承之间的千丝万缕#xff0c;哇#xff0c;收获颇多#xff0c;不过所谓温故知新#xff0c;还是要多复习复习知识点#xff0c;才能察觉那些之前不易发现的小小sparkle 真心推荐MDN文档——对象原型#xff0c;JavaScript 中的继承#x…这两天真的一直在看原型以及继承之间的千丝万缕哇收获颇多不过所谓温故知新还是要多复习复习知识点才能察觉那些之前不易发现的小小sparkle 真心推荐MDN文档——对象原型JavaScript 中的继承文档指出了很多原理性的东西所谓饮水思源大家千万不要轻易就相信别人说什么好哇就像挖到宝藏一样要多实践多探索原理性的东西你才能真正把它掌握它才真的是你的东西。 期间我还参考了阮一峰老师的Javascript 面向对象编程一封装Javascript面向对象编程二构造函数的继承 Javascript面向对象编程三非构造函数的继承 廖雪峰老师的原型继承 在MDN文档以及廖雪峰老师那里都提到了构造函数继承的一种方法这里主要说明继承的一个办法原理性的说明请看以上推荐链接 function Person(first, last, age, gender, interests) {this.name {first,last};this.age age;this.gender gender;this.interests interests; };Person.prototype.greeting function() {alert(Hi! I\m this.name.first .); }; 这里先说明一下在构造函数中属性最好都写在构造函数里而方法最后都写在prototype原型对象里这样层次比较分明但是如果是常属性值不变那么他可以写进prototype里这样可以减少内存的占据 我们现在要创建一个Teacher类需要继承Person的所有属性和方法 同时也包括 一个新的属性subject——这个属性包含了教师教授的学科。 一个被更新的greeting()方法这个方法打招呼听起来比一般的greeting()方法更正式一点——对于一个教授一些学生的老师来说。 MDN文档的做法是 function Teacher(first, last, age, gender, interests, subject) {// 调用person构造函数绑定this变量:Person.call(this, first, last, age, gender, interests); this.subject subject; }Teacher.prototype Object.create(Person.prototype); Teacher.prototype.constructor Teacher; 而这里廖雪峰老师的做法的第一步也是与廖老师文章里例子不同但原理相似 Person.call(this, first, last, age, gender, interests); this.subject subject; 之后他指出调用了Person构造函数不等于继承了PersonTeacher创建的对象的原型是 new Teacher() ---- Teacher.prototype ---- Object.prototype ---- null必须想办法把原型链修改为 new Teacher() ---- Teacher.prototype ---- Person.prototype ---- Object.prototype ---- null 我们必须借助一个中间对象来实现正确的原型链这个中间对象的原型要指向Person.prototype。为了实现这一点参考道爷就是发明JSON的那个道格拉斯的代码中间对象可以用一个空函数F来实现  // 空函数F: function F() { }// 把F的原型指向Student.prototype: F.prototype Person.prototype;// 把Teacher的原型指向一个新的F对象F对象的原型正好指向Person.prototype: Teacher.prototype new F();// 把PrimaryStudent原型的构造函数修复为Teacher: Teacher.prototype.constructor Teacher;重写Teacher的greeting函数  Teacher.prototype.greeting function() {var prefix;if(this.gender male || this.gender Male || this.gender m || this.gender M) {prefix Mr.;} else if(this.gender female || this.gender Female || this.gender f || this.gender F) {prefix Mrs.;} else {prefix Mx.;}alert(Hello. My name is prefix this.name.last , and I teach this.subject .); }; 验证  var teacher1 new Teacher(Dave, Griffiths, 31, male, [football, cookery], mathematics);teacher1.name.first; teacher1.interests[0]; teacher1.bio(); teacher1.subject; teacher1.greeting(); 廖老师用空函数的方法实现了间接继承又不占用多少空间Teacher.prototype的改写也不会影响上一级的prototype妙也 但是为什么MDN文档用 Teacher.prototype Object.create(Person.prototype); 就基本全搞定继承了呢 带着好奇我查了这个函数的原理 Object.create function (o) {var F function () {};F.prototype o;return new F();}; 哈哈哈哈这不是跟廖老师的方法一样嘛也是造一个空函数然后间接实现函数的继承 而非构造函数中阮老师总结的第一个方法 object()方法其原理类似于Object.create() function object(o) {function F() {}F.prototype o;return new F();} var Chinese {nation:China,greeting:function (name) {alert(Hi! I\m name from this.nation .);}};var Doctor Object.create(Chinese);Doctor.careerdoctor;Doctor.greetingfunction(name){alert(Hi! I\m a this.career from this.nation ,my name is name .);};alert(Doctor.nation);//ChinaDoctor.greeting(Emma);//Hi! Im a doctor from China,my name is Emma . 大家可以试试看。  好的总结到此啦阮一峰老师提到了很多构造函数的继承方法但是各有利弊吧原型以及继承这块‘深海‘’还是需要我们多去翻滚才行这里顺便抛一个new方法原理自己好好瞎捉摸吧哈哈哈哈
http://www.huolong8.cn/news/201953/

相关文章:

  • qt 可以做网站吗怎么查网站的关键词
  • 青岛网站建设开发外包网店运营推广实训
  • 有什么建筑网站wordpress产品主题
  • 佛山seo代理计费百度seo如何快速排名
  • 公司网站建设空间宝塔建设网站教程
  • 网站建设与管理适合女生吗seo教学平台
  • 高师本科化学实验教学体系建设与创新型人才培养 教学成果奖申报网站1对1视频
  • 网站项目需求移动营销型网站建设
  • 维护网站律师做网站
  • 网站建设 青岛seo关键词排名优化怎么样
  • 网站推广任务 ip点击开发网址
  • 广陵区建设局网站广东宏福建设有限公司网站
  • 企业网站建设费用财务处理深圳市年年卡网络科技有限公司
  • 网站建设套餐利用百度图片做网站外链
  • 网络营销推广的劣势网站建设 猫云seo
  • 网站运营与管理的一个目的是鄂州做网站的公司
  • 全球做网站的公司排名wordpress部分图片不显示
  • 专业3合1网站建设电话怎么做音乐mp3下载网站
  • 做网站找沈阳横纵网络建设棋牌类网站要多少钱
  • 如何给网站设置关键词安徽百度关键词优化
  • 石河子做网站的公司专注咖啡相关的网站
  • 编写app的软件seo职位全称
  • 做网站广告公司网站首页设计报价多少
  • c 做网站网站对网站建设功能的情况说明
  • 做美食软件视频网站wordpress选择哪种固定连接
  • 咸阳城乡建设局网站vue做的网站有什么
  • wordpress 做购物网站网站建设翻译成英文
  • 免费个人网站域名江西龙峰建设集团的网站
  • 洪泽区做网站wordpress文章显示字数
  • 山西国人伟业网站做装修设计的网站