易截截图软件、单文件、免安装、纯绿色、仅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基础 2(学习笔记)

参考资料:《javascript权威指南第五版》
===============变量==============
1、javaScript是一种弱类型的语言,用var语句即可声明一个变量。
2、如果不用var语句声明而直接给一个变量赋值,那这个变量将被隐式声明为全局变量。
3、如果函数内部用var语句声明了一个与某全局变量同名的变量,则在函数中全局变量被屏蔽了 ......

Javascript和AS相互交互调用 Re

一个公用类:flash.external.ExternalInterface;
该类有两个相关方法:
1、调用javascript函数;
ExternalInterface.call(´js函数名´[,以逗号隔开的多个参数]);
其中js函数名为在javascript中申明的函数名称,
传递的参数可以是as中任何类型的数据,这些参数将被自动转换成js变量;
2、注册js中可用的回 ......

用javascript评估用户输入密码的强度

javascript评估用户输入密码的强度
密码已经是我们生活工作中必不可少的工具,但一个不安全的密码有又有可能会给我们造成不必要的损失。作为网站设计者,如果我们在网页中能对用户输入的密码进行安全评估,并显示出相应的提示信息,那么对用户设置一个安全的密码将有很大帮助。同时也使得网站更具人性化,更有吸引力.
什么是一 ......

javascript中setTimeout()函数

javascript中setTimeout()函数
大家都知道javascript中的setTimeput()函数的作用,一般会用他来处理一些连续的事情,们先看一个例子:
<head>
    <script>
        function init()
         ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号