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

Javascript继承

一直想对Javascript再次做一些总结,正好最近自己写了一个小型Js
UI库,总结了一下Js的继承机制,在网上也看了一些前辈们博客里的总结,感觉分析不是特别全面。这里仅仅是把自己的学习体会拿出来分享一下,希望对大家
学习Javascript有所帮助。


Javascript本身是从Perl语言的语法演变而来的,本质上是脚本语言,随着版本的更新逐渐加入的对面向对象的模拟。我认为Js的面向对象模拟总
体上做得还是不错的,因为我们不能盲从任何一种理念,不能纯粹的为了OOP而OOP,我们需要抓住的是面向对象的好处到底是什么?为了这些优点去OOP,
才是最明智的选择,所以说Js做得还不错。


Js的继承在很多书里面细致的分了很多种类型和实现方式,大体上就是两种:对象冒充、原型方式。这两种方式各有优点和缺陷,这里我先列举出来,再从底层分
析区别:

(一)对象冒充
JScript code
function
A(name){
this
.name
=
name;
this
.sayHello
=
function
(){alert(
this
.name
+
” say Hello
!
”);};
}
function
B(name,id){
this
.temp
=
A;
this
.temp(name);
//
相当于new A();

delete

this
.temp;
//
防止在以后通过temp引用覆盖超类A的属性和方法

this
.id
=
id;
this
.checkId
=

function
(ID){alert(
this
.id
==
ID)};
}

当构造对象B的时候,调用temp相当于启动A的构造函数,注意这里的上下文环境中的this对象是B的实例,所以在执行A构造函数脚本时,所有A的变量
和方法都会赋值给this所指的对象,即B的实例,这样子就达到B继承了A的属性方法的目的。之后删除临时引用temp,是防止维护B中对A的类对象(注
意不是实例对象)的引用更改,因为更改temp会直接导致类A(注意不是类A的对象)结构的变化。


我们看到了,在Js版本更新的过程中,为了更方便的执行这种上下文this的切换以达到继承或者更加广义的目的,增加了call和apply函数。它们的
原理是一样的,只是参数不同的版本罢了(一个可变任意参数,一个必须传入数组作为参数集合)。这里就以call为例子,解释一下用call实现的对象冒充
继承。
JScript code
function
Rect(width, height){
this
.width
=
width;
this
.height
=
height;
this
.area
=
function
(){
return

this
.width
*


相关文档:

张孝详javascript讲座笔记五

一,javascript中的对象
。对象和对象实例
1,对象是对某一类事物的描述,是抽象上的概念,而对象实例是一类事物中的具体个例。(这里对象相当于java,c++中的类的概念)
2,能够被用来创建对象实例的函数就叫做对象的构造函数,只要定义了一个对象的构造函数就等于定义了一个对象,使用new关键字和对象的构造函数就可以 ......

javascript正则表达式

网上正则表达式的教程够多了,但由于javascript的历史比较悠久,也比较古老,因此有许多特性是不支持的。我们先从最简单地说起,文章所演示的正则基本都是perl方式。
元字符
( [ { \ ^ $ | ) ? * + .
预定义的特殊字符

.table1 {
border:1px solid #666;border-collapse:collapse;width:7 ......

javascript设计模式之单体模式

单体是一个用来划分命名空间并将一批相关的属性和方法组织在一起的对象,如果他可以被实例化,那么他只能被实例化一次。
单体模式是javascript里面最基本但也是最有用的模式之一。
特点:
1.      可以来划分命名空间,从而清除全局变量所带来的危险。
2.      ......

javascript获取url参数的方法

function GetRequest()  
{  
    var url  =  location .search; //获取url中"?"符后的字串  
    var theRequest  =  new  Object();  
    if(url.indexOf("?") != -1)  
    ......

学用JS(javascript)语句大全。对初学者很有帮助 。

学用JS(javascript)语句大全。对初学者很有帮助 。现在整理出来,希望能帮助大家。
1.document.write(""); 输出语句
2.JS中的注释为//
3.传统的HTML文档顺序是:document->html->(head,body)
4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)
5.得到表单中元素的名称和 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号