zoukankan      html  css  js  c++  java
  • object to primitive in javascript

     例1:

    var a={};  alert(a); //[object Object];

    例2:

    var a={

      toString:function(){

        return 1;

      }  

    }

    alert(a);  // 1

    a+1;      //2

    例3:

    var a={toString:function(){return 1;},valueOf:function(){reuturn 2};}

    alert(a); // 1

    a+1;     // 3

    ---------------------------------------------------------------------------------------------------------------------------------------------------

    +操作会如下步骤:

    1. Let lref be the result of evaluating AdditiveExpression.

    2. Let lval be GetValue(lref).

    3. Let rref be the result of evaluating MultiplicativeExpression.

    4. Let rval be GetValue(rref).

    5. Let lprim be ToPrimitive(lval).

    6. Let rprim be ToPrimitive(rval).

    7. If Type(lprim) is String or Type(rprim) is String, then

      1. Return the String that is the result of concatenating ToString(lprim) followed by ToString(rprim)

    8. Return the result of applying the addition operation to ToNumber(lprim) andToNumber(rprim). See the Note below 11.6.3.

    + specification: http://es5.github.io/index.html#x11.6.1

  • 相关阅读:
    Babelfish
    【动态规划】货币面值
    contest 1.18
    contest 1.17
    contest 1.16
    contest 1.15
    contest 1.14
    contest 1.13
    contest 12.31
    [cf]Round #529 (Div. 3)
  • 原文地址:https://www.cnblogs.com/Mr-Joe/p/4242215.html
Copyright © 2011-2022 走看看