个人的理解,有什么不正确的请指教,共同学习

//声明一个构造函数Person
function Person(name,age){
this.name = name;
this.age = age;
}
//向构造函数的原型添加方法getName
Person.prototype.getName= function () {
console.log(this.name);
};
//new一个对象stru1 stru1就拥有getName方法 
*所有通过构造函数new出来的对象都拥有getName方法
var stu1=new Person("xiaoli","25"); console.log(stu1.name);
console.log(stu1.age);
stu1.getName();
//为什么都拥有getName方法呢
//因为__proto__,js在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__的内置属性,
// 用于指向创建它的函数对象的原型对象prototype。
console.log(Person.prototype);//打印如下:

//Person.prototype里面含有 getName方法  constructor 和__proto__
console.log(stu1.__proto__===Person.prototype); //true
console.log(Person.prototype.__proto__===Object.prototype);//true
console.log(Object.prototype.__proto__===null);//true
//Person.prototype.constructor 属性指向构造函数本身
console.log(Person.prototype.constructor===Person);//true
console.log(stu1)//打印如下:

//stur不包含prototype属性

由上面的原型组成的链状结构叫原型链

												

最新文章

  1. 单页web应用是什么?它又会给传统网站带来哪些好处?
  2. python 数据分析--词云图,图形可视化美国竞选辩论
  3. java常用基础知识点 (持续追加)
  4. oracle查看当前用户权限
  5. android知识体系
  6. java调用Http请求 -HttpURLConnection学习
  7. 【题解】【数组】【Prefix Sums】【Codility】Genomic Range Query
  8. 教你配置linux服务器登陆欢迎信息
  9. P140、面试题24:二叉搜索树的后序遍历序列
  10. WPF+AE开发小结--TOCControl右键菜单删除图层
  11. Unity游戏中使用贝塞尔曲线
  12. ping不通公网ip时路由器设置
  13. 记一次Django报错Reverse for 'indextwo' with no arguments not found. 1 pattern(s) tried: ['$index/$']
  14. Html5前端笔记
  15. Immediate Decodability HDU1305
  16. Hierarchical Question-Image Co-Attention for Visual Question Answering
  17. js 根据相对路径url获得完整路径url
  18. SharePoint Online 创建列表库
  19. git for c#, commit本地,pushserver
  20. TCP requires two packet transfers to set up the connection before it can send data

热门文章

  1. 软件测试1gkd
  2. linux编译链接找不到库文件的解决方法。
  3. 用Xshell在centos7下安装lnmp服务
  4. Zynq PS和PL间的连接
  5. JXOJ(基于UOJ)部署日志
  6. 大数据Hadoop——HDFS Shell操作
  7. selenium+Headless Chrome实现不弹出浏览器自动化登录
  8. 搜索引擎选择: Elasticsearch与Solr(转)
  9. MySQL存储过程 游标
  10. (6)tcp-socket