浅谈JavaScript中的对象和类型(上)
2010-02-03 00:00:00 来源:WEB开发网JavaScript是一种不同于任何强类型程序设计语言的脚本语言,这决定了它对于许多强类型语言的程序员来说有很多莫名其妙、难以理解的地方,本文是本人对JavaScript的一些实践总结出来的简单易懂的结论(至少对我来说是这样)。我一直笃信任何语言的设计者都不至于脑子短路设计出连他自己都记不清楚的规则,所以很显然,JavaScript很多特性,例如this,看起来无比复杂,事实上不过是没有抽象理解的原因。本文就试图从一个抽象的角度来还原这些复杂规则背后的抽象之美。
一、自定义对象
尽管JavaScript的确是存在一些基元类型(例如数值、字符串、数组等),但我更倾向于在我们的“自定义类型”对象中,是没有类型这个说法的(事实上JavsScript的typeof运算符得到的结果只有固定的几个)。或者说传统的强类型程序设计语言中的类型,在JavaScript中是找不到的。因为JavaScript中的所有自定义对象都是橡皮泥,你可以任意增删改成员。
自定义对象一般用new关键字创建,但实际上函数本身也是一个对象,也是一个自定义对象,所以我先随便创建一个对象:
var a = function() { }; //你可以将这一行改为var a = new Object();,或者new任何东西,都不影响结果。
那么接下来我们就可以为这个对象增加成员:
a.test = "hello world!";
window.alert(a.test);
同样的,也可以修改这个成员,例如我们把它变成一个函数:
a.test = function() { window.alert("hello world!"); };
a.test();
所以我们知道,构造一个对象,事实上完全没有必要去用new 函数名()这样的高级语法,如果你只是需要一个很简单的对象,下面的语法就可以了:
Tags:JavaScript 对象 类型
编辑录入:爽爽 [复制链接] [打 印]赞助商链接