易截截图软件、单文件、免安装、纯绿色、仅160KB

JavaScript面向对象详解

内置类
JavaScript是一种基于对象的解释性编程语言,所有的元素,我们都可以理解为对象,每个对象也可以理解为N多属性的集合。在讨论自定义类之前,我们先看一下内置的类。作为解释性语言,JavaScript允许我们在任何时候为对象添加属性。所以我们可以先看一段简单的创建对象的代码片段。这里的“new Object”也可写作“new Object()”,当没有参数时,括号可以省略。
obj = new Object;
obj.x = 1;
obj.y = 2; 
现在使用下图来理解一下这段代码的意义。
其中方括号中的内容代表对象,下面的内容则是对象的属性描述信息。从图中可以看出对象【obj】是从类Object中创建的,在创建时,调用了构造函数Object。在【obj】中有两个属性【x】和【y】,值分别是1和2。除了属性【x】和【y】之外,这里要注意的一个内容就是,对象【obj】还有一个构造函数的constructor,它的值就是函数Object。图中的Object.prototype,至于这个该怎么称呼,我也不知道,感觉可以叫的名字挺多的:),命名一:构造函数Object的prototype属性,命名二:类Object的prototype属性,命名三:对象【obj】的属性prototype,稍候会介绍prototype。
自定义类
我们可以通过创建一个函数来创建一个新的自定义类。在使用new操作符创建对象时,函数本身就充当了类的构造函数的角色。在JavaScript内部,首先会创建一个对象,然后利用构造函数来对对象内的各个属性进行初始化。执行构造函数前,变量this会首先被初始化并指向刚创建的对象。只有我们愿意,可以创建任意多个Foo类型的对象,虽然它们的属性初始值都是1和2,但各个对象间属性是不共享的。
对于关键字this的理解,这里就不叙述了,可以参考《JavaScript终极指南》。
function Foo()
{
this.x = 1;
this.y = 2;
}

obj = new Foo; 
从图中可以看出,在对象【obj】整个创建完成的过程中,会经历Object和Foo的prototype,最终生成对象【obj】。下面就着重描述下prototype。
继承、Prototype和Prototype链
在JavaScript中,每个对象都可以从另外一个对象继承属性,而这个过程中有一个重要的概念就是prototype(原型),prototype中的内容在对象初始化的时候会全部继承下来。当我们访问一个对象的属性时,JavaScript首先会从对象本身的属性中查找,看属性是否直接定义在对象内。如果没有,JavaScript会继续从当前对象的prototype中查找,以此类推,一层层的进行访问。每个对象在创


相关文档:

javascript 实现分页条

function Paging(pageNum,pageSize,totalCount,skipCount,fuctionName,currentStyleName,currentUseLink,preText,nextText,firstText,lastText)
{
//debugger;
    var returnValue = "";
    var begin = 1;
    var end = 1;
    var total ......

javascript 打印(人云亦云,我错了)

<html>
<head>
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
<title>***WSOFT.NET***</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--media=print 这个属性可以在打印时有效-->
<style ......

javascript中setTimeout()函数

javascript中setTimeout()函数
大家都知道javascript中的setTimeput()函数的作用,一般会用他来处理一些连续的事情,们先看一个例子:
<head>
    <script>
        function init()
         ......

Javascript关键字 记录

刚在CSDN上看到一篇JAVASCRIPT的面试题目,其中有一个题目是关于javascript关键字的问题,试做了一下,结果做错了。唉。汗一个
于是上网找了一下,在此记录下来,以自勉。
Javascript关键字(Reserved
Words)是指在Javascript语言中有特定含义,成为Javascript语法中一部分的那些字。Javascript关键字是不能作为变量名
......

学习《JavaScript高级程序设计》学习笔记(二)

一、delete运算符删除对以前定义的对象属性或方法的引用:
    var o=new Object();
    o.name="hello";
    alert(o.name);    //输出“hello”
    delete o.name;
    alert(o.name);   //输出& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号