先说switch:
var a = [];
switch (a.constructor){
case String:
console.log('string')
break;
case Array:
console.log('array');
break;
default:
console.log('wrong');
break;
}
这里得到的结果是字符串array,但是当我这样子的时候:
a.contructor == Array // false
这是为什么?是switch做了什么转换吗?
另外一个问题:
let a = []; // node环境下
console.log(a.constructor) // SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside str
ict mode
这是为什么?
亲,你能先保证你说的问题是对的,再来问为什么吗?
同学……你也太粗心了点……
你再仔细看看这句话,不觉得哪里不对吗?
a.contructor == Array // false
关于第二个问题
请在代码最上方加上"use strict";