发表于: 2019-12-22 18:56:54

1 1191


number数字类型

包含:常规数字、NaN

NaN

not a number:不是一个数,但它率属于数字类型

NaN和任何值(包括自己)都不相等:NaN!=NaN,所以我们不能用相等的方式判断是否为有效数字

isNaN

检测一个值是否为非有效数字,如果不是有效数字返回TRUE,反之是有效数字返回FALSE

在使用isNaN进行检测的时候,首先会验证检测的值是否为数字类型,如果不是,先基于Number( )这个方法,把值转换为数字类型,然后再检测

把其它类型值转换为数字类型

  • Number([val])

  • parseInt/parseFloat([val],[进制]):也是转换为数字的方法,对于字符串来说,它是从左到右依次查找有效数字字符,直到遇到非有效数字字符,停止查找(不管后面是否还有数字,都不在找了),把找到的当做数字返回

  • ==进行比较的时候,可能要出现把其它类型值转换为数字

string字符串数据类型

所有用单引号、双引号、反引号(撇 ES6模板字符串)包起来的都是字符串

把其它类型值转换为字符串

  • [val].toString()

  • 字符串拼接

boolean布尔数据类型

只有两个值 true/false

把其它类型值转换为布尔类型

只有 0、NaN、''、null、undefined 五个值转换为FALSE,其余都转换为TRUE(而且没有任何的特殊情况)

  • Boolean([val])

  • !/!!

  • 条件判断

null / undefined

null和undefined都代表的是没有

  • null:意料之中(一般都是开始不知道值,我们手动先设置为null,后期再给予赋值操作)

let num = null; //=>let num = 0;  一般最好用null作为初始的空值,因为零不是空值,他在栈内存中有自己的存储空间(占了位置)
...
num = 12;
  • undefined:意料之外(不是我能决定的)

let num; //=>创建一个变量没有赋值,默认值是undefined
...
num = 12;

object对象数据类型-普通对象

{[key]:[value],...} 任何一个对象都是由零到多组键值对(属性名:属性值)组成的(并且属性名不能重复)

数组是特殊的对象数据类型

 alert、confirm、prompt三种方法得到的结果都经过了toString()方法的转换,得到的数据时字符串类型   



返回列表 返回列表
评论

    分享到