构造器

除了通过特定的模式来创建对象,构造函数也是很有用的方式——对于新创建的对象,它自动设置了原型对象。

这个原型对象是存放在那ConstructorFunction.prototype的属性上。

比如,我们可能会重写上一个例子,通过使用a构造器函数来实例对象b,c。这样,对象a的角色由Foo.prototype来扮演:

function Foo( y ){this.y = y;
}Foo.prototype.x = 10;
Foo.prototype.calculate = function( z ){return this.x + this.y + z;
}var b = new Foo( 20 );
var c = new Foo( 30 );b.calculate( 30 ); //60
c.calculate( 40 );//80

console.log(b.__proto__ === Foo.prototype; //truec.__proto__ === Foo.prototype; //true
b.constructor === Foo; //truec.constructor === Foo; //trueFoo.prototype.constructor === Foo; //true;
b.calculate === b._proto__.calculate; //true;b.__proto__.calculate === Foo.prototype.calculate; //true;
);

这段代码可能说明了如下图的关系:

这副图再次说明了每个对象有唯一的原型对象。构造函数Foo同样也有它自身的__proto__,这个__proto__引用了Function.prototype,

并且接下来通过它的__proto__属性赋值给了Object.prototype。此外,Foo.prototype是Foo的一个外部属性,同时也被映射到对象b,

c的原型属性上。

转载于:https://www.cnblogs.com/branches/p/4883845.html

javascript之构造器相关推荐

  1. Javascript第六章JavaScript中构造器创建对象第二课

    Javascript第六章JavaScript用new创建对象第一课 https://blog.csdn.net/qq_30225725/article/details/89304586 Javasc ...

  2. (五)我的JavaScript系列:JavaScript的糟粕

    泪眼问花花不语,乱红飞过秋千去. JavaScript的糟粕 JavaScript语言是一门集精华与糟粕于一体的语言.在JavaScript: the good parts中,便集中讨论了关于精华与糟 ...

  3. JavaScript 函数定义

    JavaScript 使用关键字 function 定义函数. 函数可以通过声明定义,也可以是一个表达式. 函数声明 在之前的教程中,你已经了解了函数声明的语法 : function function ...

  4. 菜鸟教程 之 JavaScript 函数(function)

    From:https://www.runoob.com/js/js-function-definition.html JavaScript 函数定义 JavaScript 使用关键字 function ...

  5. Javascript第六章JavaScript字面量加数组创建对象第三课

    Javascript第六章JavaScript用new创建对象第一课 https://blog.csdn.net/qq_30225725/article/details/89304586 Javasc ...

  6. Javascript第六章JavaScript用new创建对象第一课

    Javascript第六章JavaScript用new创建对象第一课 https://blog.csdn.net/qq_30225725/article/details/89304586 Javasc ...

  7. (自己收藏)全面理解面向对象的 JavaScript

    全面理解面向对象的 JavaScript 前天 by 资深编辑 WnouM 评论(3) 有2727人浏览 收藏 javascript 面向对象 对象 类 原型 < >猎头职位: 上海:Ju ...

  8. JavaScript学习二

    函数与方法 函数 函数通过 function 关键词进行定义,其后是函数名和括号 ().函数名可包含字母.数字.下划线和美元符号(规则与变量名相同)(在 JavaScript 中,函数是对象的方法,使 ...

  9. 在JavaScript实现基于原型的继承

    5年前我写了在JavaScript中实现基于类模式的继承.它显示了JavaScript是基于像类一样,原型的语言(class-free, prototypal).并且它有足够的能力去模仿一个" ...

最新文章

  1. 自学python哪本书比较好-学习 Python 用哪本书好?
  2. SpringMVC的概念
  3. html sql注入_Web安全-SQL注入(sqli-lab)
  4. adb logcat 查看日志
  5. CS144 lab0 笔记
  6. nohup后台运行以及重定向标准输出和标准异常
  7. 搜狐超越新浪给创业者的两个启示:不断+耐心布局
  8. Javascript 刷新框架及页面的方法汇总(转)
  9. TalkingData的移动大数据探索:联合Kochava发布移动广告监测国际版
  10. 活动现场大屏幕互动系统源码,包含3D签到投票抽奖等功能
  11. Tensorflow某段程序复现
  12. hdoj 4544 贪心
  13. Java中Lambada表达式使用方法
  14. Pytorch常用张量变换操作
  15. 致远OA表单自定义函数(计算N年后今天的日期 )
  16. Adlik Deer版本发布,模型推理加速就靠它啦
  17. 易观郭炜:流动水系数造未来
  18. 关于图像压缩JPEG2000的Python代码实现
  19. 语音验证码是怎么发的?如何选择语音验证码平台?
  20. osg火焰爆炸烟火粒子效果

热门文章

  1. 三级缓存/缓存行概念/缓存一致性协议/缓存对齐编程
  2. Linux CentOS 6.x 关闭图形化界面的方法
  3. 【视频】vue $watch监控数据的变化
  4. IDEA导入多层父子maven项目
  5. linux安装crontab软件包,Linux 服务器 Crontab 的安装及使用
  6. swift语言 数组定义_Swift3中数组创建方法
  7. gerrit的使用和配置
  8. Qt之QObjectCleanupHandler使用介绍
  9. “优秀IT工程师”是什么样的?
  10. python缩进编码教程_python基础语法教程:行与缩进