您的位置:首页 > Web前端 > JavaScript

JavaScript学习(二) 运算符

2017-08-24 21:44 197 查看
var box='89';
box++;// box=90 对数字字符串进行++,有一个隐含的转型功能

var box=10+{
toString:function(){
return 20;    //box=30
return '20';  //box='1020'
}
}

==表示值相等,===表示值和类型都相等

var box='3'>22;   //如果只有一个数字字符串,那么会将它转换成数值再比较
var box='123'>'22'//如果两个都是数值字符串,那么会比较第一个字符,即:1>2
var box='a'>'b'   //如果两个都是字符串,比较ASCII编码,即97>98
var box=null==0;  //box为false,null自动转换成0,但是在比较上,null和undefined没有自动转换
var box=""==0;    //box为true

**逻辑运算符**:
如果两边操作数有一个操作数不是布尔值的情况下,逻辑运算就不一定返回布尔值

与运算规则:
1.第一个操作数是对象,则返回第二个操作数
2.第二个操作符是对象,则第一个操作数返回true,才返回第二个,否则false
3.如果第一个false,则直接false
4.有一个为null,则null
5.有一个undefined,则undefined

或运算规则:
1.第一个为对象,则返回第一个
2.第一个false,返回第二个
3.都是对象,返回第一个
4.两个null,则null
5.两个undefined,则undefined
6.两个NaN,则NaN
可以利用或运算符来避免变量赋值null,或者undefined

非运算规则:
先转型再取反
Boolean({}) 效果与 !!{}一样
!{}  先将{}转成Boolean型,再取反

位运算:
位非:  ~
位与:  &
位或:  |
位异或: ^
左移:  <<
有符号右移 : >>
无符号右移 : >>>


4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: