首页 > js的switch和let的问题

js的switch和let的问题

先说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";

【热门文章】
【热门文章】