易截截图软件、单文件、免安装、纯绿色、仅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 , ajax

问:
Hi,
I have this C#/ASP.NET/.aspx page with a string variable named myString with the value "Mario Gamito".
How can I access "Mario Gamito" from within a JavaScript function, i. e., the variable's value ?
Already tried '" + mystring + "' but it doesn't works.
Any help would be appreciated.
......

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基础 2(学习笔记)

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

javascript 实现继承

<mce:script language="javascript" ><!--
function person(name,age)
{
this.name=name;

this.age=age;
}
function man(name,age)
{
this.sex="男";
this.base=person;
this.base(name,age);
}
function woman(name,age)
{
this.sex="女";
this.base=person;
this.base(name,age)
} ......

学习《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号