1.数据类型
1.1基本类型:
// number 数字
// string 字符串
// boolean 布尔值
// undefined 未定义
// null
1.2复合类型:
// object 对象
2.数据类型转换
2.1.转数字
2.1.1 Console.log (parseint(a))
Parseint 解析成整型
从第0位开始,一位一位的查看是否是数字,如果到某一位不是数字,就把这位之前的数字提取出来,如果第0位就不是数字,就返回NaN
Parseint 第二个参数
Parseint(要转换的内容,进制)
(parseint(a,10))
2.1.2 Console.log (parseFloat(a))
parseFloat解析成浮点型(小数)
解析规程和parseint 一样,不一样的是,可以多解析一个小数点。
2.1.3 number
Console.log (Number(v))
Number 在进行数字转换时,完整的把要转换的内容看一遍,必须完全符合数字的规范才去进行转换,否则返回 NaN
布尔值:
True:1;
False:0;
Null: 0
Undefined: NaN
Function(): NaN
数组:[] 0
[1] 当数组只有一位时,就去转换这一位:
这一位是数字,或者字符串,或者undefined ,就会进行转换否则NaN
2.2.转换成字符串
String 转换成字符串
2.3.转换成布尔值
Boolean 转换成布尔值
True:非0的数字;,非空字符串 ,函数 ,非空对象
False: 0 ,NaN,空字符串,undefined ,空对象null
空对象不能进行属性操作
3.隐式类型转换
+加号 ,+= ,++:
3.1. 如果可以转换成数字,就进行数字相加(Number)
3.2. .当+号碰到字符串的时候,会把两边的东西都转换成字符串,然后进行连接
3.3. 如果不能把左右两边都转成数字,就执行字符串连接
- 减、 *乘 、 /除 、%取模(求余数)、 - -
会把左右两侧都转成数字,进行运算,不能转换成数字 就返回NaN
3.4 === 、 !== 、 == 、 !=
==、 != 会进行类型转换
===、!== 类型不一样,直接返回false
!取反
==和===的区别
==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase。
举例说明:
"1" == true
类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;
此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;
此时,"==" 左右两边的类型都为数值型,比较成功!
如果比较:"1" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;
如果比较:"1" === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;
如果比较: 1 === 1 左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true;
如果比较: 1 === 2 左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false;
简而言之就是 "==" 只要求值相等; "===" 要求值和类型都相等
4.运算符
4.1.算术运算符
+ 加、 - 减、 *乘 、 /除 、%取模(求余数)、 ++ 、 - -
4.2.赋值运算符
= 、 += 、-= 、 #= 、 /= 、 %=
4.3.关系运算符
<、>、<=、>=、== 相等、!=不等、===、!==
4.4. 逻辑运算符
&&与 、||或 、!否
- 三元运算符
var a = 0;
var b = 1;
var c = a > b?a:b;
判断条件 ?
成立的返回值:
不成了的返回值;
6.NaN
NaN :(not a number)这不是一个数字
Type: number
注意:NaN 不等于任何数字,并且不等于它自己
IsNaN 检测一个数据转换成数字之后,是否是NaN,是返回true,否则返回 false
网友评论