2020826日志邹瑞
学习日志
数据类型
五大数据类型
-
number
-
string
-
boolean(专门表示判断结果的,当boolean类型作为判断条件的结论时使用.取值为true和false)
-
undefined(声明了变量却未赋值,结果是undefined)
-
null(空,常用于引用类型。专门由程序自动为一个变量赋初值,很少主动使用)
检测数据类型
typeof a
注意:
-
中间需要空格
-
数组(Array)、对象(Object)、函数(Function)
注意:使用typeof查看数据类型,这个三种类型得到的都是object
-
数据类型转换
隐式转换
-
什么是隐式转换?(无需程序员干预,程序自动完成的类型转换,当给定的数据类型和JS运算要求的数据类型不相符时,都会首先自动类型转换为规定的类型,再运行程序)
-
弱类型语言(声明变量时无需提前规定变量中存储数据的类型,一个变量先后可保存不同类型的数据,JS会根据自身的需要,隐式转化数据的类型)
-
数值型+字符串型==>字符串型(1+'2' ==> '12')
-
数值型+布尔型>数值型(1+true>2;1+false==>1)
-
字符串型+布尔型>字符串型('string'+true>'stringtrue')
-
加法运算(当有字符串参与加法运算时为拼接,非字符串都转为字符串)
-
减、乘、除、取余运算(自动将数据类型转为数值型,然后再进行运算)
强制转换
-
boolean(x)(只有五个值会被转为false( 0 , null , NaN , undefined , "" ),其余任何值都转为true )
-
NaN(Not a Number),JS中number类型的一个特殊值,代表一切不是数字的值,只要将其它类型转为数字时,无法正常转换时,都转为NaN
-
NaN特点
1. NaN参与任何计算,结果依然是NaN
2. NaN不大于,不小于,不等于任何值,包括自身运算符和表达式
-
++自增,在当前的基础上加1
num++:先打印num当前的值,然后再执行自增(先用后加)
++num:先执行自增,然后再打印num(先加后用) -
NaN和任何值比较(> < <= >= == ===)都是flase,包括自身
位运算符
-
按位与(&)(对应的两个二进位均为1时,结果位才为1 ,否则为0)
-
按位或(|)(对应的两个二进位有一个为1时,结果位就为1)
-
按位异或()(相同为0,相异为1)
-
按位左移(<<)(往左移动一位,在二进制的末尾补0,每移动一位增大一倍,将m的二进制数左移n位,相当于m* 2的n次方)
-
按位右移(>>)(往右移动一位,删除二进制的最后一位,逐渐变小,将m的二进制数右移n位,相当于m/ 2的n次方)
-
实际应用
下取整
1.m>>>0:无符号右移运算符
2.m|0
3.m0
不声明第三个变量,交换两变量的值
1.a=b; b=a; a=b;
2.a+=b; b=a-b; a-=b;
问题:以上两种方法只能交换数字类型的数据 -
三目运算符
条件表达式?表达式1:表达式2 -
水仙花
-
-
-
心得
把以前没注意的点以及忘记的点回忆起来了,也学到了一些新东西。
评论