5. 运算符
1. 一元运算符:只有一个运算数的运算符
++ -- , +(正号) -(负号)
* ++ --:自增(自减)
* ++(--) 在前,先自增(自减),再运算
* ++(--) 在后,先运算,再自增(自减)
* +(-):正负号
* 注意:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换。
* 其他类型转number:
* string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)
* boolean转number:true转为1,false转为0
2. 算术运算符
+ - * / % ...
3. 赋值运算符
= += -= ...
4. 比较运算符
> < >= <= == ===(全等于)
5. 逻辑运算符
&& || !
6. 三元运算符
?:表达式
* 语法:
* 表达式?值1:值2;
* 判断表达式的值,如果是true则取值1,如果是false则取值2;
<!--字符串转数字-->
var b = +"123"
alert(typeof(b))
alert(b+1)
var b = +"abc";
alert(typeof(b))
alert(b)
alert(b+1)
var b = +"123abc";
alert(typeof(b))
alert(b)
<!--boolean转number-->
var flag = +true;
var f2 = +false;
document.write(typeof(flag)+"<br>"); //number
document.write(flag+"<br>"); // 1
document.write(f2)+"<br>"); // 0
<!--算术运算符-->
var a = 3;
var b = 4;
document.write(a+b+"<br>");
document.write(a-b+"<br>");
document.write(a*b+"<br>");
document.write(a/b+"<br>");
document.write(a%b+"<br>");
<!--比较运算符
* 比较方式
1. 类型相同:直接比较
* 字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止。
2. 类型不同:先进行类型转换,再比较
* ===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
-->
document.write((3 > 4) + "<br>");
document.write(("abc">"acd") + "<br>");
document.write(("122"<123) + "<br>"); //true
document.write(("122"==122) + "<br>"); //true
document.write(("122"===122) + "<br>"); //false
<!-- 逻辑运算符:
&&:与(短路的效果)
||:或(短路的效果)
!:非
* 其他类型转boolean:
1. number:0或NaN为假,其他为真
2. string:除了空字符串(""),其他都是true
3. null&undefined:都是false
4. 对象:所有对象都为true
-->
var flag = true;
document.write(flag+"<br>");
document.write(!flag+"<br>");
<!--number转boolean-->
var num = 3;
var num2 = 0;
var num3 = NaN;
document.write(!!num+"<br>");
document.write(!!num2+"<br>");
document.write(!!num3+"<br>");
<!--string转boolean-->
var str1 = "abc";
var str2 = "";
document.write(!!str1+"<br>");
document.write(!!str2+"<br>");
<!--null&undefined转boolean-->
var obj = null;
var obj2;
document.write(!!obj+"<br>");
document.write(!!obj2+"<br>");
<!--null&undefined转boolean-->
var date = new Date();
document.write(!!date+"<br>");
if(obj != null){//防止空指针异常
alert(123);
}
if(obj != null && obj.length>0){//防止空指针异常(字符串)
}
<!--js中可以这样定义,简化书写-->
if(obj){//防止空指针异常
alert(111);
}
<!--三元运算符-->
var a = 3;
var b = 4;
var c = a>b?1:0;
alert(c);
js运算符
最新推荐文章于 2024-08-22 19:52:30 发布