intellij idea安装 计算机基础知识 mysql list redux tfs knockoutjs view NEC vue基础教程 ppt视频教程下载 jquery清除子元素 软件测试实战项目 hadoop环境变量配置 python数据库 python当前日期 安装java环境 javaforeach java正则替换 java数组最大值 java方法调用 java字符比较 音频频谱分析软件 java疯狂讲义 咪咕客户端下载 maxtoc4d lol卡米尔 go程序设计语言 pr调整图层 方正兰亭粗黑字体下载 vue定时器 彻底卸载mysql 网络驱动 目标聚光灯 oracle游标 dnf风神加点 无线中继是什么意思 pr旋转视频 服务器系统安装教程 昌江县干部在线学习
当前位置: 首页 > 学习教程  > 编程语言

javascript原型继承以及原型链

2020/9/19 15:06:26 文章标签:

es5 原型继承

	function Person (name,age,sex){
	this.name = name,
	this.age = age,
	this.sex = sex 
	}
	Person.prototype={
    type:"灵长类",
    sayName(){
        console.log('i am'+this.name);
    }
}
let wdw = new Person("小伟",18,"男");

此时我们需要继承该构造函数只需要把一个新的构造函数的原型方法指向我们的父级构造函数的实例化对象,但是不传递参数

	function SuperMan(name,age,sex,skill){
		Person.apply(this,[name,age,sex])
		// apply中的this用来改变指向,name,age,sex继承父元素的属性
	}
	//然后实例化对象 
	let spiderMan = new SuperMan("spiderMan",18,"男","爬墙");
	console.log(spiderMan)

此时我们通过打印出来的可以看的出来实例化后的对象指向他父级构造函数的原型对象,同时他父元素的构造函数的对象原型然后理论上我们可以得到spiderman的constructor指向Supperman构造函数,但是我们打印出会发现他指向了object对象的构造函数,我们可以得出结论,利用原型方法继承父元素的属性时会破坏掉子元素的constructor属性指向问题会改变

所以我们这里手动改变一下spiderMan 对象的 constructor指向

	spiderMan.constructor = SuperMan;

本文链接: http://www.dtmao.cc/news_show_200215.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?