码迷,mamicode.com
首页 > 编程语言 > 详细

[2016-02-09][javascript][表达式与运算符]

时间:2016-02-09 23:18:35      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:

[2016-02-09][javascript][表达式与运算符]

  • 算术运算符 + - * / % ++ --
    • ++ -- 运算和C++的类似,也有前缀和后缀形式
      • 不过,javascript中浮点类型等也支持++ --运算,效果 就是自增(减) 1,
        • bool 类型,++ -- 运算完之和,变量变成 number
        • 非数值类型,实际上就是先隐式转换成 数值类型,在进行自增自减运算
      • 注意:后缀++,在自增之前,类型已经转换
      • 1
        2
        3
        4
        var b = true;
        document.write("</br>");
        document.write(typeof b++);
        //输出的是number!!!


  • 字符连接符 +
    • 凡是表达式中,有一个字符串,全部隐式转换成字符串,然后进行拼接
    • document.write(true + "23333");
      • true23333
    • 注意:document.write(666 + true + "23333");
      • 这里先运算 666 + true  ,在拼接,所以:66723333
      • 因为代码的执行顺序是:左→右
    • 为了避免上面的情况,可以在开头加上空字符串
      • document.write(‘‘ + 666 + true + "23333");
        • 666true23333false

  • 赋值运算符 = += -= %= /= *=
    • += 对于字符串为字符拼接符,对于其他的则是 加法运算
    • 其他赋值,如*=等,则是四则运算,即先转换成数值类型,在进行运算

  • 比较运算符,> < >= <= == != === !==
    • == 和 ===
    • ==比较的是值,===比较值和类型
      • 转换成相同类型进行值的比较,(嗯,优先转换成哪个类型呢?)
    • 注意: 
      • 0 == null;//值为false
      • NaN == NaN;//false (NaN是唯一一个不能和自身比较的)

  • 逻辑运算符 && ||  !(与,或,非)
    • 短路现象(和C++的情况一样)
      • 如,0 && i++ ;这句中,i++后面这句没有执行

  • 三元运算符 exp1?exp2:exp3;

  • 逗号运算符‘,‘,值为最后一个表达式的值
  • void运算符,指定表示式,没有返回结果
    • 1
      2
      var a = (b = 1,c = 2);//a -> 2
      c = void(b = 1,c = 2);//c -> undefined










[2016-02-09][javascript][表达式与运算符]

标签:

原文地址:http://www.cnblogs.com/qhy285571052/p/5185741.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!