[JavaScript]类之三
详解javascript类继承机制的原理
目前 javascript的实现继承方式并不是通过“extend”关键字来实现的,而是通过constructor function和prototype属性来实现继承。首先我们创建一个animal类
js 代码
var animal = function(){ //这就是constructor function 了
this.name = 'pipi';
this.age = 10;
this.height = 0;
}
//建立一个动物的实例
var a1 = new animal ();
构造函数与其他普通函数区别在于,1.构造函数里有 this关键字,2.调用构造函数是使用的new关键字。通过new运算符调用构造函数animal 后,系统就会返回一个对象,这个对象就相当于
等同这样的方式来产生js对象。
到这里我们知道如何在js中定义一个类了,接下来我们展示如何写一个cat
js 代码
var a1 = { name:'pipi' ,age:10,height:0 }
//或者
var a1 = new Object();
a1.name='pipi';
a1.age = 10;
a1.height = 0;
js 代码
var cat = function(){
this.play = function(){
alert('cat play')
}
}
cat .prototype = new animal ();
//prototype 属性指向一个对象
var c1 = new cat();
到这里,cat就继承了animal 对象,类cat的一个实例对象c1拥有属性name,age,height,和方法play了。
那么prototype起到了一个什么样的作用呢?
prototype就好比一个指针,它指向一个object,这个object就称为子类对象的原型。当cat的对象被创建的时候,由于cat的构造函数拥有prototype属性,那么cat的实例就会间接指向这个原型对
相关文档:
JS自带函数
concat
将两个或多个字符的文本组合起来,返回一个新的字符串。
var a = "hello";
var b = ",world";
var c = a.concat(b);
alert(c);
//c = "hello,world"
indexOf
返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
var index1 = a.indexOf("l");
//index1 = 2 ......
一、类型转换的方法和应该注意的问题:
1,转换为布尔型:
(1)用两次非运算(!):
!!5 ==> true
(2)用布尔型的构造函数:
new Boolean(5) == > true
值转换为布尔类型为false:
0,+0,-0,NaN,""(空字符串),undefined,null
除上面的值其他值在转换以后为true,需要特别提到的是:
"0",new Object(),funct ......
1.Ajax Rain
AjaxRain有很多完美整合AJAX, CSS, DHTML 或 Javascript的实例,有一些Demo的确值得你去看一看,即使你不是网页设计(开发)师。
Ajax/Javascript实例:
EXT JS Date Picker
jQuery Feed Menu
jGrowl
FastFind Menu – Jquery
Spiffy Accordion
2.Ajax Daddy ......
层的开发在实际应用中比较重要,比如漂浮广告等等,我这里简单探讨一下。
1. 控制层的显示或隐藏
两种办法,其实都是控制样式的。
办法一:控制 display 属性
<script language="javascript">
function show(status)
{
document.getElemen ......