请问javascript类型问题?
<script language="javascript">
var a=123;
a.constructor;
document.write (typeof(a));
</script>a显示的类型是number,不是object,为什么a可以跟constructor属性只有对象才可以跟constructor属性的,a的类型不是object,为什么可以跟constructor属性?想不通?第二个问题?function kk(){}
var s=new kk();
document.write (s);输出s显示的是[object Object],什么意思呀?s里面存的是什么东西呢?能分析一下不?

解决方案 »

  1.   

    1、document.write(Number instanceof Object); // true
    2、s是kk的原型对象,拥有kk的所有属性和方法
    比如:
    function kk(){this.a=123;}
    var s=new kk();
    for(var i in s)
      document.write(i); //输出a
    //document.write(s[i]); //输出123
      

  2.   

    1.a=123所以它的类型number
    2.s是一个kk的对象,kk是个自定义类型,当然就继承自Object了[object Object]是说s是一个Object的对象
      

  3.   

    1、a是number类型,而number继承自object 所以也拥有constructor
      

  4.   

    楼主不要老是研究这些东西,这就好像是总是问var 为什么是关键字一样,原因在于它当初就是这么设计的。