var str = 'abc1' var test = typeof (str) console.log(test); if (test.length == 6) { test.sign = 'typeof的返回结果可能是String' } console.log(test.sign);
第一步:使用typeof 判断str的类型为string
第二步:进入if语句中 string.length==6
但是String中是没有length属性的,所以会包装下生成一个 new.String(String).length==6 包装成这个样子,然后在delete这个包装
所以最后输出的结果为 undefined