请问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传给参数,为什么和自定义的不一样,没有参数?它的参数名到底是什么?请解释,不懂.
<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传给参数,为什么和自定义的不一样,没有参数?它的参数名到底是什么?请解释,不懂.
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] = "...";