既然已经把数据分开了类型,那么我们就要知道我们存储的数据是一个什么类型的数据
·使用typeofl关键字来进行判断
1.Number(变量)
可以把一个变量强制转换成数值类型可以转换小数,会保留小数
可以转换布尔值
== 遇到不可转换的都会返回NaN==
比较严格
2.parseInt(变量)
从第一位开始检查,是数字就转换,知道一个不是数字的内容开头就不是数字,那么直接返回(NaN
不认识小数点,只能保留整数
3. parseFloat(变量)
从第一位开始检查,是数字就转换,知道一个不是数字的内容开头就不是数字,那么直接返回NaN
认识一次小数点
4.除了加法以外的数学运算
运算符两边都是可运算数字才行
如果运算符任何一遍不是一个可运算数字,那么就会返回(NaN
加法不可以用
//非加号-0/1·*1
var a = "100"
var b = a-0
console. log(b)
1.变量.tostring
有一些数据类型不能使用tostring)方法,比如undefined和null
2. string(变量)
所有数据类型都可以
3.使用加法运算
在JS里面,+有两个含义
字符串拼接:只要+任意一边是字符串,就会进行字符串拼接
加法运算:只有+两边都是数字的时候,才会进行数学运算
var a = 100
var b = a+""
console.log(b)
1.Boolean(变量)
在js中,只有""(不能有空格)、0、null、undefined、NaN,这些是false
其余都是true
var a = NaN
var b = Boolean(a)
console.log(a,b)
取余,可以制作分钟转小时
var a = 1000//分钟
var b = parseInt(a/60)// 10:20
var c = a%60
console.log(b":"+c)
console.log("1"+"2"*3+4)
//结果为164
console.log(1+"2"*3+4)
//结果为11
//交换两个数
var m = 5
var n = 6
var c
c = m
m = n
n = c
console.log(m,n)
==
比符号两边的值是否相等,不管数据类
1 ==
‘1’
两个的值是一样的,所以得到true
===
比较符号两边的值和数据类型 是否都相等
1 ===
‘1’
两个值虽然—样,但是因为数据类型不—样,所以得到false
两个值虽然—样,但是因为数据类型不—样,所以得到false
var age ="22"
console.log(parseInt(age)===22)
//强制转换类型
console.log(true==1)
console.log(""===0)
console.log(undefined==o)
!=
!=
‘1’!==
1.&&
进行且的运算
符号左边必须为true并且右边也是true,才会返回true
只要有一边不是[true,那么就会返回false
2.||
进行或的运算
符号的左边为true或者右边为true,都会返回true
只有两边都是false的时候才会返回false
3.!
进行取反运算
本身是true的,会变成false本身是false的,会变成true! true结果是false
!false结果是true
特殊:
var y = null
console.log(y && y.toString())
//如果y值有问题为空,会显示undefined,不会中断程序
var z ="赵钱孙李"
document.write(z || “这个家伙很赖,什么也没有留下")
//如果z值为空,则显示“这个家伙很赖,什么也没有留下”
var n = 10
var res = ++n + n++ + n++
// 11 11 13
console.log(n.res13)
//13 35
案例:
var sum = 210
var youhuisum= sum>200? sum-10 : sum
console.log(sum, youhuisum)
// 优惠案例
//满20日 减10 满100减5
var sum = 210
var youhuisum = sum>200? sum-10 : (sum>100?sum-5:sum)
console.log(sum, youhuisum)
if else if …语句
·可以通过if和e1se if 来设置多个条件进行判断
·语法:if(条件1){条件1为 true 的时候执行 } else if(条件2){条件2为 true 的时候执行〕
·会从头开始依次判断条件
.如果第一个条件为true了,那么就会执行后面的里面的内容。如果第一个条件为false,那么就会判断第二个条件,依次类推
·多个,只会有一个被执行,一旦有一个条件为true了,后面的就不在判断了
var sum = 190
var youhuisumif(sum>200){
youhuisum= sum-10
console.log(1111)
}else if (sum>100 ){
youhuisum= sum-5
}else if(sum >50 ){
youhuisum= sum-3
}else (sum<50){
youhuisum= sum
}
console.log(sum, youhuisum)
注意:
1.===
2.不要比较运算符
3.break;必须写