请问javascript创建对象实例的问题?var s=new Array()Array()先返回一个对象,由typeof(Array())证明得出返回的是object数组对象.
用new创建这个object数组对象的实例的时候不会出错那么请看下面的:var k=new Object;
var s=new k;k是对象实例后,我在用new k创建实例s,为什么就不行,只有var s=k;把new去掉才可以,new 创建Array()返回的(object数组对象)实例就可以new 创建(k这个对象)的实例,为什么就不行,
区别在什么地方?请最详细指教!

解决方案 »

  1.   

    请问javascript创建对象实例的问题? 
    var s=new Array() ;
    此时s是对象实例。
    var k=new Object();
    此时k是对象实例。 
    var s=new k; 
    此时将对象实例k再实例化一次,你认为可以吗?
      

  2.   

    var s=new k; <-------------这里发生错误,只能写成var s=k;然后typeof(s)的时候才有东西.老是没人知道,我也不知道高手都去什么地方了,有的东西还是解答不出来是什么原因,郁闷我发现一个问题:var k=new Array();<---从函数里返回出来的对象,可以用newvar s=new k<-----而这个k不是从函数里面返回出来的,就不能用new ,一用就错,不知道为什么.
      

  3.   

    你new的不是对象,是对象的引用 
      

  4.   

    参见:new 运算符创建一个新对象。new constructor[(arguments)] 参数
    constructor 
    必选项。对象的构造函数。如果构造函数没有参数,则可以省略圆括号。 arguments 
    可选项。任意传递给新对象构造函数的参数。