题目如下:
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()方法,再转换得到值