请问javascript的对象参数问题?第一段:
<script language="javascript">
var kk=new Object("123")
</script>
第二段:
<script language="javascript">
function ss(aa){}
var vv=new ss("123");
</script>第二段中ss(aa)这个自定义函数的参数变量为aa,外部ss("123")将123传给aa参数.第一段内置构造函数是Object(),外部Object("123")是将123传给参数,为什么和自定义的不一样,没有参数?它的参数名到底是什么?请解释,不懂.

解决方案 »

  1.   

    一:Object的带参数构造函数
    var obj = new Object(value);
     
    value是js中的元类型,返回的是该元类型的包装类。
    var aNumber= new Object(1);
    var aBoolean = new Object(true);
    var aString = new Object("str"); //与java不同,js有元类型string和string包装类String。
     
    如果我们就是不按要求传元类型,传个对象会怎么样勒?
    var obj1 = new Object();
    var obj2 = new Object(obj1);
    这个效果和下面代码一样...
    var obj1 = new Object();
    var obj2 = obj1;
     
    如果我们无聊一点,传null,会怎样...
    var obj = new Object(null);
    效果等同
    var obj = new Object(); //......好像有点太无聊了
     
    二:Object的属性的属性名的讨论。
    我们都知道可以用下面的方法给js对象添加一个属性。
    obj[key] = value;
    一般情况下,这个key是一个String类型的。但是我们如果用其他的类型勒?
    obj[1] = "...";
    obj[0.1] = "...";
    obj[true] = "...";
    obj[new Object()] = "...";
    obj[null] = "...";
      

  2.   

    哦,原来 Object的参数名是value哦。