资深进,请问javascript的new创建问题?<script language="javascript">
function kk(){
var as=new Object;
as.k=123;
return as;<-----------------返回实例对象as.
}
var nn=new kk();<--------------这里kk()先返回(实例对象as),再用new创建(as对象实例)的(实例nn)没发生错误.
alert(nn.k);
</script><script language="javascript">
var s=new Object();//s是对象实例
var k=new s;<----------------------------用new创建(s对象实例)的实例k,为什么就发生错误!
</script>
new kk()这里kk()先会返回一个对象实例,为什么从函数里返回出来的对象实例,都可以跟new,如果不是函数里返回出来的对象实例s,一用new,就错误没东西了?请最详细的指教一下.
function kk(){
var as=new Object;
as.k=123;
return as;<-----------------返回实例对象as.
}
var nn=new kk();<--------------这里kk()先返回(实例对象as),再用new创建(as对象实例)的(实例nn)没发生错误.
alert(nn.k);
</script><script language="javascript">
var s=new Object();//s是对象实例
var k=new s;<----------------------------用new创建(s对象实例)的实例k,为什么就发生错误!
</script>
new kk()这里kk()先会返回一个对象实例,为什么从函数里返回出来的对象实例,都可以跟new,如果不是函数里返回出来的对象实例s,一用new,就错误没东西了?请最详细的指教一下.
var as=new Object;
as.k=123;
return as; <-----------------返回实例对象as.
}
这里的操作是包在函数定义中,
在var nn=new kk();之后才会执行。
new kk();是一步操作,不是先kk();再new操作,我
想楼主是看晕糊了,呵呵......
function kk(){
var as=new Object;
as.k=123;
return as;
}
var nn=new kk();
alert(nn.k); var s=new Object();//s是对象实例 var k=new s;
</script>
没有报错啊 楼主拷去运行啊
第二个既不是构造函数 没有this 同时也不是函数 所以报错