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

推广网站挣钱云服务器建设网站

推广网站挣钱,云服务器建设网站,专业做网站制作,如何做输入密码进入网站1.原型链继承 实现原理#xff1a;子类的原型指向父类实例。子类在自身实例上找不到属性和方法时去它父类实例#xff08;父类实例和实例的原型对象#xff09;上查找#xff0c;从而实现对父类属性和方法的继承 缺点#xff1a; 子类创建时不能传参#xff08;即没有…1.原型链继承 实现原理子类的原型指向父类实例。子类在自身实例上找不到属性和方法时去它父类实例父类实例和实例的原型对象上查找从而实现对父类属性和方法的继承 缺点 子类创建时不能传参即没有实现super()的功能父类实例的修改会影响子类所有实例 function Parent(name){this.name 父级的name;}Parent.prototype.getName function(){console.log(getName:this.name);}function Child(){}// 子类原型指向父类的实例Child.prototype new Parent();Child.prototype.constructor Child;//这句话和原型链继承没有关系只是根据原型链规则绑定constructor// 测试var child new Child();console.log(child.name);//父级的namechild.getName();//getName:父级的name// 缺点不能传参父类实例改变子类所有实例也改变 2.构造函数继承 实现原理子类构造函数中执行父类的构造函数并且为父类构造函数绑定子类的this父类的构造函数把成员属性和方法都挂到子类的this上去这样既能避免实例之间共享一个原型实例又能向父类构造方法传参 缺点无法继承父类原型上的属性和方法 // 构造函数继承function Parent(name) {this.name name;console.log(父类构造函数);}Parent.prototype.getName function () {console.log(getName: this.name);}function Child(name){Parent.call(this, name);}var child new Child(张三);console.log(child);//Child {name: 张三}// 不能继承父类原型上的方法和属性child.getName();//报错child.getName is not a function 3.组合式继承 实现原理原型链继承构造函数继承 缺点父类构造函数会执行两次Parent.call()和new Parent()这不影响子类对父类的继承但是每次创建子类实例时原型中都会有两份相同的属性和方法 // 组合式继承原型链继承构造函数继承function Parent(name) {this.name name;console.log(父类构造函数);}Parent.prototype.getName function () {console.log(getName: name);}function Child(name) {Parent.call(this, this.name);}Child.prototype new Parent();Child.prototype.constructor Child;var child new Child(张三);console.log(child);//Child {name: 张三}child.getName(); 4.寄生式组合继承 实现原理父类构造函数会执行两次Parent.call()和new Parent()那么在原型链继承时就只继承父类的原型就不会执行两次父类构造函数  Child.prototype  Parent.prototype; 缺点操作子类原型对象会影响到父类原型对象例如给Child.prototype增加一个getName()方法那么会导致Parent.prototype也增加或被覆盖一个getName()方法 // 寄生式组合继承原型链继承只继承父类原型构造函数继承function Parent(name) {this.name name;}Parent.prototype.getName function () {console.log(getName: this.name);}function Child(name) {Parent.call(this, name);}Child.prototype Parent.prototype;Child.prototype.constructor Child;var child new Child(张三);console.log(child);//Child {name: 张三}child.getName(); 4.1解决寄生式组合继承的缺点使用Object.create()进行继承  如下对Child.prototype.getName子类中原型上属性或方法进行修改时父类也被修改 function Parent(name) {this.name name;console.log(父类构造函数);}Parent.prototype.getName function () {console.log(父类getName);}function Child(name) {Parent.call(this, name);}Child.prototype Parent.prototype;Child.prototype.constructor Child;Child.prototype.getName function(){console.log(子类getName);}var child new Child(张三);console.log(child);//Child {name: 张三}child.getName();var parent new Parent(李四);parent.getName(); 解决加上Object.create()方法即可 // Child.prototype Parent.prototype;Child.prototype Object.create(Parent.prototype); 5.ES6的Class继承 实现原理ES6新增是ES5中构造函数原型链继承组合继承寄生组合式继承的结合 缺点兼容性不好 6.扩展——对象的几种创建方式 字面量创建var obj new Object()创建构造函数创建Object.create()创建 // 字面量创建let obj1 {name: lmf1,say() {console.log(lmf1 say);}}// new Object()创建let obj2 new Object({name: lmf2,say() {console.log(lmf2 say);}});// 构造函数创建function Person(name) {this.name name;}let obj3 new Person(lmf3);Person.say function () {console.log(静态方法);}Person.prototype.say function () {console.log(lmf3 say);}// Object.create()创建let obj4 Object.create(obj3);console.log(obj1, obj2, obj3, obj4);
http://www.hkea.cn/news/14418143/

相关文章:

  • 在网站上做支付功能 需要什么山东网站方案
  • 网站建设与管理需要什么软件有哪些wordpress多语言插件:qtranslate
  • ftp怎么连接网站空间购物网站优惠券怎么做
  • 多语言企业网站建设长沙冠讯网络科技有限公司
  • 天津怎样做网站推广网站出现风险如何处理方法
  • 做网站什么商品好中国电商排名
  • 有没有网址啊给一个百度seo外链推广教程
  • 常州网站制作crm系统主要干什么的
  • 手机网站大全网站怎么做播放器
  • 自己建一个电商网站阿帕奇建设网站博客
  • 不合理的网站小黄猫传媒有限公司官方首页
  • 装修网站怎么做的好正规投资app平台
  • 常州网站公司网站网站建设费的摊销
  • 免费行情网站排名北京金山办公软件
  • 苏州网站制作的公司建设网站的分析
  • html5手机资讯网站模板厂房装修东莞网站建设
  • 哪个做网站比较好wordpress搭建论坛教程
  • 陕西建设网网站集群有哪些网站可以做印度市场调研
  • 烟台企业做网站清镇市最新消息
  • 中国建设银行网站会员登录张家港网站设计
  • 模板网站建设包括哪些建设网站前的市场分析怎么写
  • ps切图做网站微信公众号文章编辑wordpress
  • 微信网站建设口碑好制作网站怎么做
  • 制作一个企业网站多少钱免费虚拟云windows主机
  • 下载模板后怎么建设网站做网站的工作
  • 云南建设厅网站设计手机网站如何推广
  • 班级网站建设php哪个找房网站好
  • 分享类网站怎么做承德专业做网站的公司
  • 作品展示的网站怎么做淘宝客网站做淘客
  • 搭建网站宣传wordpress集成幻灯