Javascript继承(上) 对象构建2013-10-13 cnblogs Justany_WhiteSnowQuiz1Javascript中存在“类”么?万物皆对象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函数就又被创建了一次,这明显地浪费了我的内存。