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型,再取反
位运算:
位非: ~
位与: &
位或: |
位异或: ^
左移: <<
有符号右移 : >>
无符号右移 : >>>
JavaScript学习(二) 运算符
最新推荐文章于 2025-08-09 20:51:19 发布