运算符

100 * "20"  字符串转数字

5 * "ss"   NAN  "ss" 转数字返回NAN

      任何数字与NAN +-*/ 都返回NAN

5/NAN   NAN 同乘法

0/0      NAN 零被零除 返回NAN

10/0    Indefinity

-10/0     -Indefinity

++i

i++

var i = 11;

var i2 = ++i+3  //i2=15  自加运算符在前的时候 先自加再参与表达式

var i3 = (i++)+3  //i3=14  自加运算符在后的时候 先参与表达式(i++)+3运算 等表达式算出结果并赋值完成后 再执行i = i+1

一元加法

+"23"  => 23

+a  //把a变量转成数字比number()函数方便

1+"999" => "1999"  有字符串有限字符串链接后考虑运算

减法运算符 只有数学减法 不具备字符串链接

var i = 3-"2"  => 1

Boolean操作符

逻辑非 !

逻辑或 &&

逻辑与 ||

关系运算符

3>"2" true

都是数值 则数值比较

都是字符串则比较编码

一个数字一个字符串则转数字比较

三元运算

  var b = a>3?2:1

运算符练习题

  var a = "1",b=3,c=true;

  a>b=> false

  a>=c => false  字符1字符t编码比较 不是转成数字比较的

  !b => false

  a+b => "13"

  b+c => 4

  b-a=>2

  b&&a => true

  !(a||b) => false

  +c=>1

  ++a+c =>2+c =>true

  6/0  infinity

  NAN*0  NAN

  b>c?++a:c  => ++a先自加再参与表达式

  

猜你喜欢

转载自www.cnblogs.com/suanmei/p/8916952.html