一、toString 和 valueOf 的异同
1、对象转换成字符串的时候,优先调用toString,其次调用valueOf
2、对象转换数字的时候,优先调用valueOf,其实调用toString转换成字符再转换成数字
3、转换成原始值,优先使用valueOf,其实toString
“1” == true;
将返回true,转换形式是:true首先转换为1,然后再执行比较。接下来字符串“1”也转换成了数字1,相等,所以返回true
varstr =newString('hello,world');
console.log(typeofstr);//'object'
console.log(typeofstr.valueOf());//'string'
JS中 toString() & valueOf() - -渔人码头- - 博客园
二、slice 和 substring 的区别
三、toLocaleUpperCase更安全
四、typeof 和 instanceof 区别
五、void返回类型
六、比较运算
执行类型转换的规则如下:
如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。
如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
在比较时,该运算符还遵守下列规则:
值 null 和 undefined 相等。
在检查相等性时,不能把 null 和 undefined 转换成其他值。
如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。
如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。