当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript 对象的解释

Javascript
javascript prototype的深度探索不是原型继承那么简单
兼容Firefox和IE的onpropertychange事件oninput
javascript兼容firefox的文本输入长度提示
js字符编码函数区别分析
js程序中美元符号$是什么
javascript 数组的方法集合
javascript编程必备_JS语法字典
javascript动画效果打开/关闭层
javascript键盘事件全面控制脚本代码
javascript键盘上下键的操作(选择)
JavaScript容错例外处理
js将网址转为urlencode类型
JScript中使用ADODB.Stream判断文件编码的代码
[原创]js循环输出图片,不足的要补0
js left,right,mid函数
javascript 网站常用的iframe分割
javascript下兼容firefox选取textarea文本的代码
JSON学习笔记
asp.net和asp下ACCESS的参数化查询
JavaScript入门学习书籍推荐

Javascript 对象的解释


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 139 ::
收藏到网摘: n/a

ECMAScript没有像C++,Smalltalk,或者java中那样规矩的类,可是它支持通过执行分配空间的代码来创建对象、并初始化对象所有或者一部分属性的构造器。 所有的构造器都是对象,而并非所有的对象都是构造器.每个构造器都有一个用来实现原型继承、共享属性的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.