Javascript第一天
Base64转码:
btoa(string) 任意值转换为Base64编码
atob() base64编码转回原来的值
JS中可以表示的数字的最大值:Number.MAX.VALUE,如果超出了这个值,则值为Infinity(正无穷),-Infinity为负无穷。
JS中可以表示的0以上的最小值:Number.MIN.VALUE。
正无穷和负无穷都是Number类型的字面量
NaN:Not A Number 一个Number类型的字面量
String:字符串类型
Number:数值类型
JS如果用浮点数进行运算,可能会得到一个不精确的结果
Boolean:布尔值
Null:空值,用来表示为空的对象,是对象类型
Undefined类型的值只有一个,undefined,当声明一个变量,并没有为变量赋值时,其类型就是undefined
强制类型转换:
转换为字符串:
1、变量.toString()方法,返回转换后的值,不能转换null和undefined
2、调用String()函数,返回转换后的值,能将null和undefined转换为字符串
转换为Number类型:
1、调用Number()函数
字符串转数字
1)纯数字的字符串-->直接转换为数字
2)如果字符串中有非数字的内容-->转换为NaN
3)如果字符串是空字符串,或全是空格,则转换为0
布尔值转数字
false-->0
true-->1
null转数字-->0
undefined转数字-->NaN
2、专用于字符串转数字:
非字符串变量使用这两个函数,会先将其转换为字符串,再进行操作
1)parseInt() 把一个字符串转为整数,字符串从左到右从数字开始取,遇到非数字字符结束,可用于对浮点数进行取整,该函数也可传入第二个参数用于控制转化后的进制数,parseInt(字符串,10/8)
2)parseFloat()把一个字符串转换为浮点数,从左到右,从数字开始取,遇到第一个小数点继续取数字,遇到非数字字符结束。
3、其他类型转为Boolean类型调用Boolean()函数
数字转Boolean类型:NaN和0是false,其他是true
字符串转Boolean:除了空字符串是false,其他都是true
null和undefined都是false
对象也会转换为true
其他进制的表示:
二进制:0b010
八进制:070
16进制:0xaf
任何值和NaN做运算都是NaN
任何值和字符串做加法操作,都会先转换为字符串,然后再进行字符串拼接操作
任何值参与减法,乘法,除,都先转换为数值,再进行运算
可以对其他数据类型的变量使用+来使其转换为Number类型
取反操作:对布尔值进行取反,非布尔值取反先转换为布尔值再进行操作
可对任意类型的变量进行两次取反操作,将其转换为布尔类型
对非布尔值进行与,或运算时,先转换为布尔值,再进行运算,并返回原值(程序执行到哪里,返回那个值)
如短路与运算,如果两个值都是true,则返回后面一个值(第一个值为true,要判断第二个值),如果两个值都是false,则返回前面一个值(第一个值为false,直接返回)
比较运算符:字符串与数值比较,字符串先转换为数值,再进行比较
字符串与字符串比较是比较其Unicode编码值,一位一位进行比较
两个字符串类型的数字要进行比较,一定要转型
字符串使用转义字符输出Unicode编码(编码表是16进制表示的)
\u四位编码 //十六进制
在网页中使用Unicode编码
&#编码 //这里的编码是十进制
相等运算符:
注意null == 0 为false
null == undefined 为true
NaN不和任何值相等,包括他本身
全等运算符:=== 与相等运算符类似,不同的是它不会进行类型转换
null === undefined 为false
不全等运算符:!==
判断值是否是NaN:isNaN()函数,判断是不是数字
三元运算符:条件?语句1:语句2
代码块中的变量,在外部也能访问,代码块只具有分组功能
String prompt()弹出一个输入文本框,返回一个字符串类型的值,小技巧:使用时可直接在函数前加+将返回值转换为数值类型
console.time("计时器的名字")开始计时
console.time.End("计时器的名字")结束计时