<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="JavaScript中的对象、函数和继承" id="card1">
<p> 游客</p><p>
标题:JavaScript中的对象、函数和继承<br/>
正文:<br/>
1、 Javascript中的对象。JavaScript可以说是一个基于对象的编程语言，为什么说是基于对象而不是面向对象，因为JavaScript自身只实现了封装，而没有实现继承和多态。既然他是基于对象的，那么我们就来说说js中的对象。 1、 Javascript中的对象 　　JavaScript可以说是一个基于对象的编程语言，为什么说是基于对象而不是面向对象，因为JavaScript自身只实现了封装，而没有实现继承和多态。既然他是基于对象的，那么我们就来说说js中的对象。有人说js中所有的都是对象，这句话不完全正确。正确的一方是他强调了对象在js中的重要性，对象在js中无处不在，包括可以构造对象的函数本身也是对象。但是另一方面，js中也有一些简单的数据类型，包括数字、字符串和布尔值、null值和undefined值，而这些不是对象。那为什么这些类型的值不是对象呢，毕竟他们也有方法。那让我们来看一下，JavaScript中对于对象的定义，有两种定义。 　　(1)JavaScript中的对象是可变的键控集合(keyed collections) (此定义来自老道的那本书的第三章) 　　(2)JavaScript中的对象是无序(unordered)的属性集合，这些属性可以含有简单的数据类型、对象、函数;保存在一个对象属性中的函数也被称为这个对象的方法。 (来自ECMA-262 的4.3.3)(注:这里所说的属性是可以在js脚本中创建和访问的(我们称之为显性属性)，不包括系统为对象自动分配的内部属性) 　　那为什么那个简单的数据类型不是对象呢，主要是因为这些数据类型的值中拥有的方法是不可变的，而一个对象的属性是应当可以被改变的。 　　2、 对象中的原型链[[proto]] 　　JavaScript中的每个对象创建的时候系统都会自动为其分配一个原型属性[[proto]]，用来连接到他的原型对象。在JavaScript中就是通过每个对象中的[[proto]]来实现对象的继承关系的。但是对象的[[proto]]属性在JavaScript是不能访问和修改的，他是作为一个内部的属性存在的，而且是在对象被创建的同时由系统自动设定的。 　　当访问一个对象的某一属性，如果这个属性在此对象中不存在，就在他的[[proto<br/><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=378&amp;Page=1">[&lt;&lt;]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=378&amp;Page=1">[[1]]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=378&amp;Page=2">[2]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=378&amp;Page=3">[3]</a><a href="http://www.xmwzidc.com/blog/wap.asp?mode=WAP&amp;act=View&amp;id=378&amp;Page=5">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=378">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=378">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://www.xmwzidc.com/blog/wap.asp">首页</a>
</p>
</card>
</wml>