您的位置:首页 > Web前端 > JavaScript

JavaScript备忘录(0106更新ing......)

2008-12-09 17:23 309 查看
虚函数是类成员中的概念,是只做了一个声明而未实现的方法,具有虚函数的类就称之为抽象类,这些虚函数在派生类中才被实现。

抽象类是不能实例化的,因为其中的虚函数并不是一个完整的函数,不能被调用。所以抽象类一般只作为基类被派生以后再使用。

这里Class是一个全局对象,具有一个方法create,用于返回一个函数(类),从而声明一个类,可以用如下语法:

var class1=Class.create();

但实际上可以把Class.create()返回的类看作所有类的共同基类,它在构造函数中调用了一个虚方法initialize,所有继承于它的类都必

须实现这个方法,完成构造函数的功能

var Class = {

create: function() {

return function() {

this.initialize.apply(this, arguments);

}

}

}

var class1 = Class.create();

class1.prototype={

initialize:function(strname){

alert(strname);

}

}

var c = new class1("www");

这样,每次创建类的实例时,initialize方法都会得到执行,从而实现了将类的构造函数和类成员一起定义的功能

当new一个函数时,这个函数就是所代表的类构造函数

var arrList = document.getElementsByTagName("input");

for (var i = 0; i < arrList.length; i++)

<SELECT id="ClassListB" name="ClassListB">

<OPTION></OPTION>

</SELECT>

ClassListB.options[ClassListB.options.length] = new Option(ClassListB.options[ClassListB.selectedIndex].text,'a');

obj.options[obj.options.length] = new Option(text,value);

var num = [1,2,3];

this[this.length] = 4; //向数组添加一个

<link rel='stylesheet' type='text/css' href="hello.css" />

<script type="text/javascript" src="hello.js" />

但实际上可以把Class.create()返回的类看作所有类的共同基类,它在构造函数中调用了一个虚方法initialize,

所有继承于它的类都必须实现这个方法,完成构造函数的功能。它们得以实现的本质就是对prototype的操作

这样,每次创建类的实例时,initialize方法都会得到执行,从而实现了将类的构造函数和类成员一起定义的功能

var x=Class.create(); //Class.create() 声明一个类

var a = new x('aaa');

a.show();

myobj.funsize = funsize; // 省略括号 调用函数

//funsize表示这个函数的返回值付给myobj.funsize 传递的是一个Function对象 而不是对那个对象的调用

var myobj = new Object();

myobj.size = '12';

function funsize()

myobj.funsize = funsize;

//省略()括号调用函数 funsize()表示这个函数的返回值付给myobj.funsize
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: