在Javascript 中创建自己的对象,可以是实例化Object 对象给大家举个例子var myObject = new Object; 也可以使用简写的花括号:var myObject={ }; 其实无论通过那种方式,最终的对象都是Object对象的一个实例,不过实例化的对象必须是一个构造函数,构造函数是一种特殊的函数,有关构造函数的内容我稍后也会提到。每个核心对象,例如Object,Function,Array和String 都含有构造函数,当完成对象实例化之后,不能再基于新实例使用new操作符创建另外的的实例。 那么应该如何来创建构造函数呢?Function对象是创建构造函数的起点,使用Function 关键字可以创建下面的myConstructor 函数: function myContructor(arg){ /*代码*/ } 大家大概也看到过这样一种定义函数的语法: var myContrustor = function(arg){ /*代码*/ } 以上两种定义函数的语法从功能上都等价于下面这行代码: var myContrustor = new Function(‘arg’, ‘/*代码*/ ‘); 不过使用new关键字来创建的函数会导致性能问题,因此最好还是用使用function关键字。Function对象的特殊之处在于,它的实例也能作为构造函数方法,因而可以用来创建函数的新实例,使用前面任何一个myContrustor Function对象, 并通过new 操作符对其进行实例化都是完全合法的: var myObject=new MyContrustor(); 此时,myContrustor 函数就如同基于类的OO语言中的构造方法,当对象实例化之后,构造函数会立即执行它所包含的任何代码:比如: function myContrustor(message){ alert(message); } var myObject=new myContrustor(‘instantiating myObject’); 当实例化以后,浏览器会立即弹出警告框,提示初始化myOject. 在以后日子里,我会继续介绍javascript中如何给对象添加静态方法,公有方法,以及私有和特权成员的控制访问。