Javascript 对象的解释


Posted in Javascript onNovember 24, 2008

所有的构造器都是对象,而并非所有的对象都是构造器.每个构造器都有一个用来实现原型继承、共享属性的Prototype属性。对象通过new 表达式创建;比如,new String("A String") 创建了一个String对象。没有通过new而直接调用构造器将有返回值,返回的类型将取决于构造器。例如String("A String")产生一个原始的类型的字符串而不是一个对象。
ECMAScript支持基于原型的继承。每个构造器都有一个与之关联的原型,而且通过此构造器创建的对象都有一个与构造器原型关联的隐式引用(称为,对象的原型)。进一步说,一个原型可能有一个对其原型的非空隐式引用……,这被称为,原型链。当一个引用指向对象的属性,这个引用指向原型链中的第一个对象的以此为名的属性。换句话说,第一次,这个直接关联的对象,将为这个属性被检查。如果这个对象包含以此为名的属性,这个属性就是引用指向的属性。如过这个对象不包含以此为名的属性,那么这个对象的原型将会被继续检查……
原文:
Object
ECMAScript does not contain proper classes such as those in C++, Smalltalk, or Java, but rather,supports constructors which create objects by executing code that allocates storage for the objects and initialises all or part of them by assigning initial values to their properties. All constructors are objects,but not all objects are constructors. Each constructor has a Prototype property that is used to implement prototype-based inheritance and shared properties. Objects are created by using constructors in new expressions; for example, new String("A String") creates a new String object. Invoking a constructor without using new has consequences that depend on the constructor. For example,String("A String") produces a primitive string, not an object.
ECMAScript supports prototype-based inheritance. Every constructor has an associated prototype, and every object created by that constructor has an implicit reference to the prototype (called the object's prototype) associated with its constructor. Furthermore, a prototype may have a non-null implicit reference to its prototype, and so on; this is called the prototype chain. When a reference is made to a property in an object, that reference is to the property of that name in the first object in the prototype chain that contains a property of that name. In other words, first the object mentioned directly is examined for such a property; if that object contains the named property, that is the property to which the reference refers; if that object does not contain the named property, the prototype for that object is examined next; and so on.

Javascript 相关文章推荐
js实现addClass,removeClass,hasClass的函数代码
Jul 13 Javascript
jQuery中setTimeout的几种使用方法小结
Apr 07 Javascript
JavaScript匿名函数与委托使用示例
Jul 22 Javascript
jQuery简单实现title提示效果示例
Aug 01 Javascript
webuploader模态框ueditor显示问题解决方法
Dec 27 Javascript
BootStrap selectpicker后台动态绑定数据
Jun 01 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
Jul 18 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
Aug 17 Javascript
详解ES6中的三种异步解决方案
Jun 28 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
Sep 30 Javascript
微信jssdk逻辑在vue中的运用详解
Nov 14 Javascript
微信小程序如何获取地址
Dec 24 Javascript
javascript脚本调试方法小结
Nov 24 #Javascript
createElement动态创建HTML对象脚本代码
Nov 24 #Javascript
javascript innerHTML、outerHTML、innerText、outerText的区别
Nov 24 #Javascript
javascript call和apply方法
Nov 24 #Javascript
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
Nov 24 #Javascript
javascript 贪吃蛇实现代码
Nov 22 #Javascript
js利用div背景,做一个竖线的效果。
Nov 22 #Javascript
You might like
PHP Mysql编程之高级技巧
2008/08/27 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
PDO::commit讲解
2019/01/27 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
Javascript快速排序算法详解
2014/12/03 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
2019/07/04 jQuery
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
十条建议帮你提高Python编程效率
2016/02/16 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
印度低票价航空公司:GoAir
2017/10/11 全球购物
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
Java如何支持I18N?
2016/10/31 面试题
新闻学毕业生自荐信
2013/11/15 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
特此通知格式
2015/04/27 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js