javascript中的一元操作符

题目如下:

var s1 = "01";
var s2 = "1.1";
var s3 = "z";
var b = false;
var f = 1.1;
var = {
    valueOf: function() {
        return -1;
    }
};
s1= -s1;   //-1
s2 = -s2;  //-1.1
s3 = -s3;  //NaN
b = -b;    //0
f = -f;    //-1.1
o = -o;    //1

解释:

 在对非数值应用一元加操作符时,该操作符会像Number转型函数一样对这个值执行转换。换句话说,布尔值false和true将被转换为0和1,字符串值会被按照一组特殊的规则进行解析,而对象是先调用它们的valueOf()和toString()方法,再转换得到值 
原文地址:https://www.cnblogs.com/1rookie/p/6912165.html