代码示例:(标识:eg_js_best_valueof)
<!DOCTYPE html>
<html>
<body>

<p>删除注释(在行的开头)以测试每种情况:</p>

<p id="demo"></p>

<script>
var x = 5;
//x = 5 + 7;    // x.valueOf() 是 12,typeof x 是数字
//x = 5 + "7";  // x.valueOf() 是 57,typeof x 是字符串
//x = "5" + 7;  // x.valueOf() 是 57,typeof x 是字符串
//x = 5 - 7;    // x.valueOf() 是 -2,typeof x 是数字
//x = 5 - "7";  // x.valueOf() 是 -2,typeof x 是数字
//x = "5" - 7;  // x.valueOf() 是 -2,typeof x 是数字
//x = 5 - "x";  // x.valueOf() 是 NaN,typeof x 是数字

document.getElementById("demo").innerHTML = x.valueOf() + " " + typeof x;
</script>

</body>
</html>
运行结果: