JS学习笔记DAY2--运算

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
		/*
		1.算术运算:
			+:-可以对两值进行加法运算,并返回结果
			  -字符串与任何值相加(包括字符串)结果都转换成字符串
			  -可以利用此方法进行隐式类型转换原理和String()函数一样
			-:-可以对两值进行减法运算,并返回结果
			*:-可以对两值进行乘法运算,并返回结果
			/:-可以对两值进行除法运算,并返回结果
		注意:任何值做- * / 运算时都会自动转换为Number
			  我们可以利用这一特点做隐式类型转换
			  例如通过将一个值-0 *1 /1来将其转换为Number
			  其原理和Number()函数一样,使用起来更加简便
			+ 正号:不会对数值产生影响
			- 负号:对数值进行负号的取反
				    对于非Number类型的值:
								会先将其转换成Number,然后运算
		注意:可以对一个非Number类型的值使用+,来将其转换成Number
			  原理和Number()函数一样
			  
		2.自增++:
			-使变量在自身的基础上加一,原变量也增加一
		  注意:区别a++的值相当于原值a(自增前的值)
				   ++a的值等于a+1(自增后得值)
				通俗的理解就是从左往右运算a++是先看到a所以是a的原值
				++a是先+1再+a所以是a+1
		  自减--:
			-使变量在自身的基础上减一,原变量也增减一
		  注意:a--和--a的值不同,原理同自增
		  
		3.逻辑运算符:
			-!非:逻辑取反
				  -对非布尔值取反则先将其转换为布尔值,然后取反
				  -利用上述特征可以为任意数据两次取反将其转换为布尔值
				  -原理和Boolean()函数一样
			-&&与
				  -只有当两个true与运算结果才返回true
			-||或
				  -只要有一个true结果就返回true
			注意:JS中的或和与是短路的,当或中第一个是true就立刻返回
				  结果true当与中第一个为false就立刻返回结果false
				  
		4.联值运算:
				  -a += 5; 相当于a = a + 5; a -= 5; 相当于a = a - 5;
			
		5.关系运算符:
				  -大于号>,判断符号左侧值是否大于右侧值
				  -关系成立结果返回true,不成立结果返回false
				  -小于号< 大于等于>= 小于等于<=同理
			注意:对于又一边为非数值的会转换为数值进行比较
				  两边均为非数值时比较的是字符串的字符编码
				  不过任何值和NaN比较都是false
				  
		6.unicode编码:
		
		7.条件运算符(三元运算符):
				  -语法:条件表达式?语句1:语句2;
				  -执行流程:首先条件表达式进行求值,
				  -如果值为true,则执行语句1,并返回执行结果
				  -如果值为false,则执行语句2,并返回执行结果
		
		8.运算符优先级,不确定优先级灵活使用括号!!
		*/
		var a;
		a = (1 + 2 -1)*3/2;
		console.log("a = "+a);//a = 3
		//任何值和字符串相加都会转化成字符串,并做拼串操作:
		a = "123" + "456"
		console.log(a);
		console.log(typeof a);//字符串“123456”
		a = 123 + "h";
		console.log(a);
		console.log(typeof a);//字符串“123a”
		//a = 123 + "";-相当于String(a)
		a = "123";
		a = a - 0;//通过此方法不改变值本身大小,将类型转换成Number
		console.log(a);
		console.log(typeof a);//number
		
		a = 1 + "2" +3;
		console.log(a);
		console.log(typeof a);//"string"
		a = 1 + +"2" + 3;
		console.log(a);//6
		console.log(typeof a);//通过字符串“2”前面加正号转换成Number2
		
		a = 1;
		console.log(a++);//1
		console.log(a);//因为a++ a自增得2;a=2,a++=1
		a = 1;
		console.log(++a);//2
		a = 1;
		a = a++ + ++a +a;//相当于1+3+3
		console.log(a);
		
		a = true;
		a = !a;
		console.log(a);//false
		a = "hello"
		a = !!a;
		console.log(typeof a);//非布尔值两次取反转换为布尔值
		a = true && false;
		console.log(a);//false
		a = true || false;
		console.log(a);//true
		
		var result = 4 > 5;
		console.log(result);//false
		
		console.log("\u2610");//在字符串中使用unicode编码
		
		a = NaN;
		console.log(isNaN(a));//isNaN()函数检查数值是否为NaN
		
		var a=1,b=2,c=3;
		//a>b?alert("a大"):alert("b大")
		var max=a>b?a:b;//两个数求最大值
		//console.log("max="+max);
		var max=max>c?max:c
		//var max=a>b?(a>c?a:c):(b>c?b:c)一行写法不推荐,不方便分析!!
		console.log(max);//三个数求最大值
		
		</script>
	</head>
	<body>
		<!--在网页中使用unicode编码,不过记得转化成十进制!
			"font-size: 尺寸xp"	
		-->
		</h1>爱打篮球的&#9977;</h1>
	</body>
</html>

运行结果:

运算符的优先级:

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值