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

《悟透javascript》学习笔记:X、深入继承

引言
 
      JavaScript不是按面向对象的思想设计的程序语言,所以它不具备像现有的面向对象的语言那样的功能,但是面向对象的思想是如此的深入人心,以至于JavaScript也削尖了脑袋“面向对象”。果真,通过一些特殊的处理,JavaScript也具有了基本的面向对象的功能。
 
function、new、prototype与constructor
 
      看代码:
      <script language="javascript">
function Person(name){  
      this.name=name;  
      this.showMe=function(){  
         alert(this.name);  
      }  
};  
var one=new Person('JavaScript');  
one.showMe();
</script>
 
很多人见到了久违的new操作符,于是就叫Person为“类”,可是又没有关键字class的出现,觉得叫“类”有点勉强。于是退而求其次叫Person为类的构造函数。这些概念好像都没有错,之所以出现这样的情况,可能是因为大家都学习了传统的面向对象语言(c++,c#,java等),还有一种思维定势吧。为了让javascript也面向对象,要在javascript中找到与传统面向对象语言的影子。可是按照javascript的说法,function定义的这个Person就是一个Object(对象),而且还是一个很特殊的对象,这个使用function定义的对象与使用new操作符生成的对象之间有一个重要的区别。这个区别就是function定义的对象有一个prototype属性,使用new生成的对象就没有这个prototype属性。
 
prototype属性又指向了一个prototype对象,注意prototype属性与prototype对象是两个不同的东西,要注意区别。在prototype对象中又有一个constructor属性,这个constructor属性同样指向一个constructor对象,而这个constructor对象恰恰就是这个function函数本身。有点头晕,看下图吧:
 
 
      下面举例证明:
<script language="javascript">
function Person(name){  
      this.name=name;  
      this.showMe=functi


相关文档:

javaScript的callee属性

      js的Function对象在调用过程中具有一个arguoments属性,它是由脚本解释器创建的,这也是创建arguments对象唯一途径。arguments对象可以看做是一个Array对象,它具有length属性,可以通过序号访问每一个参数。而且,通过arguments 的callee属性可以获取对只在执行的Function对象的引用,如下 ......

JavaScript 正则表达式两种使用方式的区别


关于
JavaScript
正则表达对象的使用,其参考手册介绍如下:
语法 1
re = /
pattern
/
[flags
]
语法 2
re = new RegExp("
pattern
",
["
flags
"
])
参数
re
必选项。将要赋值为正则表达式模式的变量名。
Pattern
必选项。要使用的正则表达式模式。如果使用语法 1
,用 &q ......

Javascript: setTimeout()使用及 setInterval()使用

Evaluates an expression after a specified number of milliseconds has elapsed.
(在指定时间过后执行指定的表达式)
Syntax:
iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])
Parameters
vCode
Required. Variant that specifies the function pointer or string that indicates the code to be ......

JavaScript 获取浏览器的显示区域大小信息

网页可见区域宽:document.body.clientWidth;
网页可见区域高:document.body.clientHeight;
网页可见区域高:document.body.offsetWidth (包括边线的宽);
网页可见区域高:document.body.offsetHeight (包括边线的宽);
网页正文全文宽:document.body.scrollWidth;
网页正文全文高:document.body.scrollHeight; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号