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 event使用方法详解
Apr 28 Javascript
js确定对象类型方法
Mar 30 Javascript
纯javascript制作日历控件
Jul 17 Javascript
基于javascript实现页面加载loading效果
Sep 15 Javascript
分享jQuery网页元素拖拽插件
Dec 01 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
Aug 05 Javascript
bootstrap快速制作后台界面
Dec 05 Javascript
smartupload实现文件上传时获取表单数据(推荐)
Dec 12 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
js实现4个方向滚动的球
Mar 06 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 Javascript
Javascript如何实现扩充基本类型
Aug 26 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 数据库树的遍历方法
2009/02/06 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
验证码按回车不变解决方法
2013/03/29 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
九种原生js动画效果
2015/11/11 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
JS原生轮播图的简单实现(推荐)
2017/07/22 Javascript
微信小程序实现带缩略图轮播效果
2018/11/04 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
python 简单的多线程链接实现代码
2016/08/28 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
Python Opencv图像处理基本操作代码详解
2020/08/31 Python
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
销售顾问岗位职责
2014/02/25 职场文书
水电维修专业推荐信
2014/09/06 职场文书
合作意向协议书
2015/01/29 职场文书
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL
go goth封装第三方认证库示例详解
2022/08/14 Golang