日期:2014-05-16  浏览次数:20323 次

请问javascript中Number()与valueOf()有什么具体的分别?
rt

请问javascript中Number()与valueOf()有什么具体的分别?
------解决方案--------------------
Number()是将某个变量变成数字类型,如var test = Number("aa");
此时test的值为NaN,isNaN(Number("aa")) == true; //true
valueOf()来自object,"aa".valueOf == "aa"; //true
------解决方案--------------------
valueOf得到的是原始的值,类型不变

toString不管什么类型,最后都是string

    var a = 123;
    alert(typeof a.valueOf())//Number
    alert(typeof a.toString())//string



所以字符串操作时一般调用toString,其他操作valueOf,也可以看看这篇文章:JavaScript对象valueOf与toString方法