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

解决方案 »

  1.   

    valueOf好像调用的是toString()方法吧?
      

  2.   

    Number()是将某个变量变成数字类型,如var test = Number("aa");
    此时test的值为NaN,isNaN(Number("aa")) == true; //true
    valueOf()来自object,"aa".valueOf == "aa"; //true
      

  3.   

    Number()是将某个变量变成数字类型,如var test = Number("aa");
    此时test的值为NaN,isNaN(Number("aa")) == true; //true
    valueOf()来自object,"aa".valueOf() == "aa"; //true
      

  4.   


    那么如一楼所讲valueOf调用的是toString()方法咯?
      

  5.   

    那么请问什么时候用valueOf什么时候用toString?
      

  6.   

    Number 用于任何类型。
    parseInt, parseFloat: 专门用于把字符串转换成数值。
    parseInt 识八进制,十六进制,不识得科学计数法。
    parseFloat: 只识十进制,识科学计数法。
      

  7.   

    那么请问什么时候用valueOf什么时候用toString?
      

  8.   

    请问什么时候用valueOf什么时候用toString?
      

  9.   


    请问什么时候用valueOf什么时候用toString? 
      

  10.   

    valueOf得到的是原始的值,类型不变toString不管什么类型,最后都是string    var a = 123;
        alert(typeof a.valueOf())//Number
        alert(typeof a.toString())//string
    所以字符串操作时一般调用toString,其他操作valueOf,也可以看看这篇文章:JavaScript对象valueOf与toString方法