关注:74 发布时间:2021-10-09 09:00:04
导语本文整理了web前端:理解js原型链经验知识,帮助您全面了解,小白也能成为高手,跟随小编一起来看一看吧!
java描述语言
在学习原型链之前,我们先了解一下构造函数,代码如下:
函数s {
this.name=" xxx
this . say=function{ console . log(this . name)}
}
var s1=new s;
s1是s的一个实例,s1在__proto__中有一个构造函数属性(我们不要担心__proto__属性,但我们稍后会谈到它),它指向s.
在这里,你可以记住两点:
1.s1是构造函数s的一个例子;
2.s1。_ _ proto _ _ _。constructor==s也可以写成s1 . constructor===s;
接下来,让我们看看下一个代码:
函数s2 {}
s2 . prototype . name=" xxx ";
s2.prototype.say=function {
console . log(this . name);
}
var s2=新s2;
var s3=新s2;
console . log(s2 . sayname===s3 . sayname);//true
console.log(s2。_ _ proto _ _===s2 . prototype);//true
在这段代码中,我们可以看到一个新的属性——prototype。这是什么?事实上,这是构造函数s2的原型对象。每个对象都有一个__proto__属性,但只有函数对象有一个原型属性。s2是构造函数s2和s2的一个实例。__proto__指向s2的原型物体,即s2。_ _原型_ _==s2。原型。结论是实例的__proto__属性指向其构造函数的原型对象。
继续前面的代码,我们添加代码继续调试:
console.log(s2。_ _ proto _ _);//返回s2的原型对象
console . log(s2 . prototype);//返回s2的原型对象
console.log(s2。_ _ proto _ _ _。_ _ proto _ _);//返回对象对象
console . log(s2 . prototype . _ _ proto _ _);//返回对象对象
console.log(s2。_ _ proto _ _ _。_ _ proto _ _ _。_ _ proto _ _);//返回null
console . log(s2 . prototype . _ _ proto _ _。_ _ proto _ _);//返回null
实际上,在s2的原型对象上有原型对象,因为s2的原型对象只是对象对象的一个实例。
在这里,我画一个图让你了解原型链。
代码不容易。如果小编有什么问题,我希望每个人都能指出来。谢谢你
上一篇:怎么运用html5画图
下一篇:word2003筛选数据
1054位用户关注
974位用户关注
745位用户关注
740位用户关注
604位用户关注
595位用户关注