JavaScript基础(二)之数据类型转换 、运算符 &表达式

1、数据类型转换
弱类型语言:由数据决定数据类型
var stuName = “张三丰”;//string
stuName = 35; //number
stuName = true;//boolean
函数:var 变量=typeof(变量);

1、隐式转换
	不同数据类型之间的数据在计算过程中会自动进行转换

	1、数字 + 字符串 :将数字转换为字符串,整体结果为字符串
	2、数字 + 布尔类型:将布尔类型转换为数字,整体结果为 数字
	3、字符串 + 布尔类型:将 布尔类型转换为 字符串,整体结果为 字符串
	4、布尔类型+布尔类型:将 布尔类型转换为 数字,整体结果为 数字

	注意:字符串和任意数据类型的数据相加运算时,结果都为字符串 
2、转换函数
	1、toString()
		作用:将任意类型的数据转换为字符串类型
		返回值:转换后的结果
		语法:var 变量=变量.toString();
	2、parseInt(参数)
		作用:将任意类型的数据转换为 "整数"
		参数:待转换的数据
		返回值:转换后的结果(number类型)
		特点:
			1、碰到第一个非数字字符就停止转换
			2、如果第一个字符就是非数字字符,转换结果为NaN(Not a Number)
				isNaN(参数) : 判断 参数 是否为 非数字
					返回值为 false,则为 数字
					返回值为 true ,则为 非数字
	3、parseFloat(参数)
		作用:将 参数 转换为 小数(浮点数)
		参数:待转换的数据
		返回值:转换后的结果(number类型)
	4、Number(参数)
		作用:将一个 string 类型的参数 转换为 number
		参数:待转换的数据
		返回值:转换后的结果(number)
		注意:如果包含非法字符,则返回 NaN

2、运算符 和 表达式
运算符:实现数据运算的一组符号
操作数:辅助运算符进行运算的数据
15 + 10
表达式:由运算符 和 操作数 组成的式子
var num = 15;
注意:每一个表达式都会有运算结果

1、算术运算符
	1、作用
		完成数据的 +-*/ 等基础运算
	2、运算符
		+,-,*,/,%,++,--
		由算术运算符组成的表达式称之为算术表达式
		+ : 
			两个数字的相加运算
			字符串的连接运算
		% : 取余操作,俗称 模
			获取两个数字的 "余数"
			5 % 2 结果:1
			10 % 3 结果:1
			3 % 10 结果:3
			10.5 % 3 结果:1.5
			-10 % 3 结果:-1
			10 % -3 结果:1
			-10 % -3 结果:-1

			使用场合:
				1、判断奇偶性 或 倍数的问题
				2、获取 某数字的 最后几位
					获取1234的最后一位 
						1234 % 10 结果 4
					获取1234的最后两位
						1234 % 100 结果 34
		
		注意:
			除 + 外,其他的运算符如果两边的操作数不是number类型的话,会自动使用Number()进行转换然后再做运算

			任何数据在与NaN做运算时,结果一定是NaN
		
	3、优先级
		除 ++,--外
		运算顺序:从左向右,先 */%,后+-
		var result = 35+2*8+6%3*4;

		想提升优先级 ,使用 ()
		var result = (35+2)*(8+6)%3*4; 结果 8
		var result = (35+2)*((8+6)%3)*4; 结果 296
		          
	4、++,--
		++ :自增运算符,在自身的数值基础上做+1操作
		-- :自减运算符,在自身的数值基础上做-1操作

		var num = 10;
		num++;
			做后缀,先使用num的值,然后再进行自增操作
			ex:
				1、var num = 10;
				   var newNum = num++;
					  1、先将num的值赋值给newNum
					  2、再将num的值进行自增
				2、var num = 10;
					console.log(num++);
						1、先 打印输出 num的值
						2、在将num的值进行自增
		++num;
			做前缀,先将num的值进行自增,然后再使用num的值
			ex:
				1、var num = 10;
					var newNum = ++num;
					//newNum : 11
					//num : 11
					1、先将num进行自增操作,变为11
					2、在将num的值(11)赋值给 newNum
				2、var num=10;
					num++;
					console.log(num);
		
		ex
			1、var num = 10;
				console.log(num--);??10
				console.log(--num);??8
				var newNum = num--;
				console.log(newNum);??8
				console.log(num);??7
			2、var num = 2;

			             2     (3)3    3(4)    (5)5     5    5(6)
			var result = num + ++num + num++ + ++num + num + num++;
			result : 23
			num : 6
2、关系运算符
	1、作用
		比较数据之间的大小,相等关系的
		由关系运算符所组成的表达式称之为"关系表达式"
		关系表达式的结果都是 boolean 类型
	2、关系运算符
		>,<,>=,<=,==(判断等于),!=(不等于),===(全等),!==(不全等)

		ex:
			console.log(3 > 5); // false
			console.log(5 >= 5);// true
			console.log(3 == 5);// false
			console.log(5 == 5);// true
			console.log(5 != 3);// true

			console.log("张三丰">"张无忌");
			console.log("10">3);
			console.log("10">"3");
		注意:
			1、运算符两边如果有一个是number类型的话,另一个非number类型的数字会通过Number()隐式转换为 number 在进行比较
			2、如果运算符两边都是 string 类型的话,那么比较的就是每位字符的Unicode码,不相同的字符比较出大小,Unicode码的胜出
				1、"张三丰">"张无忌"
					张三丰
						张:24352
						三:19977
					张无忌
						张:24352
						无:26080
				2、"10">"3"
					"10"
					"3"
		
		=== : 全等,既要判断数值,还要判断数据类型,数值和类型都相等的情况下,才为真,否则就为假

		输入一个数字:25
		是奇数吗?true

		输入一个数字:50
		是奇数吗?false

		输入一个价格:6000
		降价了吗?true

		输入一个价格:9000
		降价了吗?false
3、逻辑运算符
	1、作用
		关联多个条件
		ex: 年龄必须在 18岁 到 65岁之间
			var age = prompt("输入年龄:");
			判断1:age > 18
			判断2:age < 65
	2、逻辑运算符
		!:非(取反)
			对现有条件的结果进行取反操作
			非真即假
			非假即真
		&&:逻辑与
			作用:关联两个条件
				如果两个条件的值都为真的话,则整个逻辑结果就为真
				如果两个条件中,有一个条件值为假,则整个逻辑结果就为假
			
			var result = 条件1 && 条件2;
				条件1:true,条件2:true,result:true
				条件1:false,条件2:true,result:false
				条件1:true,条件2:false,result:false
				条件1:false,条件2:false,result:false
		|| : 逻辑或
			关联的两个条件中,只要有一个结果为真,那么整个的结果就为真
			var result = 条件1 || 条件2;
				条件1:true,条件2:true,result:true
				条件1:false,条件2:true,result:true
				条件1:true,条件2:false,result:true
				条件1:false,条件2:false,result:false
		优先级:
			!>&&>||
			比较运算符 > 逻辑运算符
				5>3 && 1<2

		练习2:
			请输入一个字符:a (input)
			是英文字符吗?true
				是否在 a ~ z 或 A~Z之间
				var r = input >= 'a' && input <= 'z'
				如果r为真,说明是 小写字符
			是数字吗?false
			是汉字吗?false
	3、短路逻辑
		1、短路 与
			条件1 && 条件2

			如果条件1的结果为假的话,那么就"不会判断执行条件2",整个表达式的值,就为假
			如果条件1的结果为真的话,那么则"继续判断执行条件2",并且以条件2的结果作为整个逻辑表达式的结果
		2、短路 或
			条件1 || 条件2

			如果条件1的结果为真的话,那么久"不会判断执行条件2",整个表达式的值,就为真
			如果条件1的结果为假的话,那么则"继续判断执行条件2",并且以条件2的结果作为整个逻辑表达式的结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值