之前看到一个题目如下,因为基础知识不扎实,看起来很简单的一个流程语句,都没有答上来,特此记录下
function showCase(value) {
switch(value) {
case 'A':
console.log('Case A');
break;
case 'B':
console.log('Case B');
break;
case undefined:
console.log('undefined');
break;
default:
console.log('Do not know!');
}
}
showCase(new String('A'));//Do not know
当通过new 调用 String()时,返回的是一个object
当通过字面量或者直接调用String(),返回的是一个字符串
并且在switch中,都是严格比较。所以上面 new String('A') === 'A' 为false
网友评论