js运算符

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值