[2016-02-09][javascript][表达式与运算符]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[2016-02-09][javascript][表达式与运算符]相关的知识,希望对你有一定的参考价值。
[2016-02-09][javascript][表达式与运算符]- 算术运算符 + - * / % ++ --
- ++ -- 运算和C++的类似,也有前缀和后缀形式
- 不过,javascript中浮点类型等也支持++ --运算,效果 就是自增(减) 1,
- bool 类型,++ -- 运算完之和,变量变成 number
- 非数值类型,实际上就是先隐式转换成 数值类型,在进行自增自减运算
- 注意:后缀++,在自增之前,类型已经转换
- 1234
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运算符,指定表示式,没有返回结果
- 12
var
a = (b = 1,c = 2);
//a -> 2
c = void(b = 1,c = 2);
//c -> undefined
以上是关于[2016-02-09][javascript][表达式与运算符]的主要内容,如果未能解决你的问题,请参考以下文章
[2016-02-09][javascript][数据类型强制转换]