传入的value是一个字符串对象。第一个:一个对象除非跟自己的浅拷贝进行比较相等,否则即使一摸一样的两个对象也不会向灯,因此不符合;第二个:对象不等于字符串,也不符合。所以最后就是default结果。 像这种题自己试试印象会比较深。 //输入 var str1 = new String("test"); var str2 = new String("test"); var str3 = str2; console.log(str1); console.log(str1 == str2); console.log(str3 == str2); //输出 String {0: "t", 1: "e", 2: "s", 3: "t", length: 4, [[PrimitiveValue]]: "test"} false true