请问javascript数组对象引用问题?第一段:
<script languahe="javascript">
var k=new Array(0);
Array[0]=123;
document.write (Array[0]+"<br>");
document.write (k[0]);
</script>
第二段:
<script language="javascript">
var kk=new Array(0);
kk[0]=123;
var k=kk
document.write (k[0]);
</script>第一段中,将Array(0)给k引用,第二行给Array[0]赋值123,那么引用后的k[0]应该有值的,为什么没值?第二段,把array(0)给kk引用,第二行给kk[0]赋值为123,在把kk给k引用,为什么k[0]就有值了?
第一段k引用后没有值,第二段k引用后为什么就有值?什么原因?
第二个问题:第二段的var k=kk,为什么对象直接赋值给k变量啊,kk是数组对象,数组对象kk为什么可以直接赋值?为什么不是var k=new kk啊,一写成var k=new kk就什么都没有显示了?为啥啊?

解决方案 »

  1.   

    楼主这是按照什么理解能力在理解问题
    js是一门弱语言类型,不需要在定义的时候定义变量类型。我先回答第二个问题,var k = kk;为什么是不行的呢?
    这句话翻译成中文就是“定义一个变量k,k被kk赋值。”
    楼主觉得不行的依据是啥呢?至于var kk=new Array(0),我实在不知道怎么回答你。
    楼主知道这句话的意思嘛?
    js不需要事先指定数组大小,数组是动态改变大小的一个集合。