suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Fragen zum Typ von js

Das Rückgabeergebnis von typeof, das ich heute gesehen habe, ist tatsächlich eine Ganzzahl. Und warum die Ergebnisse auf dem Bild 1.

sind

学习ing学习ing2720 Tage vor779

Antworte allen(5)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-06-15 09:25:38

    1、因为typeof优先级更高
    2、还是因为加法运算符优先级更高

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-06-15 09:25:38

    var a=true;
    console.log(a);//返回true
    console.log(typeof a);//返回boolean
    console.log(typeof(typeof a));//返回"string"
    

    实质上typeof a ? 1 : 2可以写成这样:

    "boolean" ? 1:2
    

    而这个三元表达式调用Boolean()对字符串进行类型转换,即:
    Boolean("boolean") ====>true
    所以返回是1。
    你可以试下将a赋值为false,返回还是1:

    var a=false;
    typeof a ? 1 : 2

    Antwort
    0
  • 代言

    代言2017-06-15 09:25:38

    这段语句是这么编译的
    (typeof a)? 1 : 2
    编译的时候,换成了这种形式,就是这个结果。三元运算符

    Antwort
    0
  • 学习ing

    学习ing2017-06-15 09:25:38

    没毛病

    Boolean('string') => true

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-15 09:25:38

    接你的例子,
    三元运算符,当typeof a 为true时,返回的是 1,
    typeof a 为false的时候,返回的是2。
    前面100 + a;进行了类型转换,所以100 + a = 101,
    所以results 也返回1

    Antwort
    0
  • StornierenAntwort