Q: 通过键名访问对象的成员
下面代码输出了什么?
var a={},
b={key:'b'},
c={key:'c'};
a[b]=123;
a[c]=456;
console.log(a[b]);
A
答案为456,因为键名只能为字符串,传入对象只会被转为字符串[object Object],a[b],a[c]都等价于a[“[object Object]”]。
Q: 数组的索引值转换
控制台输出了啥?
var arr = [];
arr['a'] = a;
console.log(arr.length);
arr['2'] = 2;
console.log(arr.length);
arr.length = 0;
console.log(arr);
A
0, 3, [];
‘a’, ‘2’作为arr的索引值都会被自动转化成整数类型。’a’转为NaN,存不进去,数组长度不变。’2’转为arr,数组长度就变为3,即便前两个值没有被赋值。
T: 字符串对象
Q1:考察字符串对象的类型
function judge(val) {
switch(val) {
case "A":
console.log(1);
break;
case "string":
console.log(2);
break;