- 在 JavaScript 中有 5 种不同的数据类型:
string
number
boolean
object
function
三种对象类型:
Object
Date
Array
两个不包含任何值的数据类型:
null
undefined
- 请注意:
NaN 的数据类型是 number
数组(Array)的数据类型是 object
日期(Date)的数据类型为 object
null 的数据类型是 object
未定义变量的数据类型为 undefined
如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 object。
使用constructor。toString()的方式可以获得Array和Date类型的对象的类型信息。
js同样存在类型转换。多使用String()方法,或者toString()方法。
同时对于Date()类型,也有很多特定的转换String的方法,可以参考如下:
| 方法 | 描述 |
| getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
| getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
| getFullYear() | 从 Date 对象以四位数字返回年份。 |
| getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
| getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
| getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
| getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
| getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
| getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
字符串类型的数字同样也可以转换成数字类型的。
日期类型,也可以转换成数字。Number() 或者 getTime()
search()方法与正则表达式,同replace()相似,参数可以是字符串,也可以是正则表达式。
还有几个详细的判断实例,可以参考
(https://www.runoob.com/js/js-regexp.html)
另外,这部分最好结合在实际使用时的案例来做,光看方法介绍,看不出多少东西。调试 console.log()方法
变量提升hoisting。就是变量可以先使用,在最后声明也没关系,它会自动被提升到函数的最顶部(初始化(可理解为已经赋值)的变量不行)。
但为了便于理解,一般还是采用顺序化的定义方式。严格模式。"use strict";
"use strict" 指令只允许出现在脚本或函数的开头。