Welcome 微信登录

首页 / 脚本样式 / JavaScript / Javascript继承(上) 对象构建

Javascript继承(上) 对象构建2013-10-13 cnblogs Justany_WhiteSnowQuiz1

Javascript中存在“类”么?

万物皆对象

Javascript中除了基本数据(Undefined、Null、Boolean、Number、String),其他都是对象(Object)。

实际上,Javascript中的对象是数据与功能的集合。例如我们知道:

var foo = new Function("alert("hello world!")");foo();
可见foo是一个函数,也是一种对象。再比如说:

function foo(){//do something}foo.data = 123;foo["data2"] = "hello";alert(foo.data);alert(foo.data2);
函数也可以像对象一样添加属性。

对象的构建

一般我们用构造函数来构建对象,但如果没有构造函数,我们也有办法构建我们想要的对象:

function creatPerson(__name, __sex, __age){return {name: __name,sex: __sex,age: __age,get: function(__key){alert(this[__key]);}};}var Bob = creatPerson("Bob", "male", 18);Bob.get("name");//BobBob.get("sex");//maleBob.get("age");//18
但是这不够,我希望方法是可以共享的。比如我再用该函数创建一个Tom对象,get函数就又被创建了一次,这明显地浪费了我的内存。