首页 > 代码库 > 笔记-[面向对象]-包装对象和原型链-[3]
笔记-[面向对象]-包装对象和原型链-[3]
基本数据类型都有自己的包装对象:如 String 、Number、Boolean
包装对象如何来:
<script> var str="helloworld";//str是字符串类型 str.charAt(0);//为什么str不是对象,却能够使用String对象的方法 </script>
因为 str有它的包装对象Sting对象,过程是基本类型会找到对应的包装对象类型,然后把包装对象的属性和方法继续过来,最后包装对象消失,
所以str.charAt(0);可以正常使用.
原型链:实例对象与原型链之间的连接(_proto_).
原理:实例对象----------->构造函数的原型---------->object.prototype
定义一个构造函数:
function Getnum(){ //this.num=50; 1 }
//Getnum.prototype.num=40; 2
object.prototype.num=100; 3 var ab=new Getnum();
alert(ab.num);//当this.num在构造函数内部声明了,ab.num的结果是50;
alert(ab.num);//当this.num在构造函数内部没有声明,ab.num的结果是40;
alert(ab.num);//当1,2都注释的时候,ab.num的结果是100;
注:实例化对象先从自身的属性和方法去寻找,如果找不到就通过原型链到构造函数的原型的方法和属性去找,如果还是找不到,又通过原型链到object对象的原型的属性和方法
去找。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。