1.概述
JS里有7种数据类型:
数值(number):整数和小数
字符串(string):文本
布尔:表示真伪的两个特殊值,即true和false
undefined:表示未定义或不存在。即由于目前没有定义,所以此处暂时没有任何值
null:表示空值,即此处的值为空
对象各种值组成的集合。数组和函数也属于object
2.typeof运算符
typeof运算符,可以确定一个值到底是什么类型
typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
但是注意一点:不能用来检测null和函数
typeof null // 'object'
typeof 函数 // 'function'
我们也可以用它来检查一个变量是否被声明:
// 错误的写法
if (v) {
// ...
}
// ReferenceError: v is not defined
// 正确的写法
if (typeof v === "undefined") {
// ...
}
2.number
- 整数和小数:1 .1
- 科学计数法:1.23e2
- 二进制:0b11
- 八进制:011(此处有问题,后来添加了0o11来表示)
- 十六进制:0x11
3.string
- HTML语言的属性值使用双引号
- 字符串默认只能写在一行内,分成多行会报错
- 如果必须分成多行,要在每一行的后面使用反斜杠或用+号或用反引号
var s = '12345' +
'67890' // 无回车符号
var s = `12345
67890` // 含回车符号
4.boolean
以下六个值都会在if语句中传为false
undefined
null
false
0
NaN
''或""
5.undefined和null
- 对于null和undefined,大致可以像下面这样理解。
- null表示空值,即该处的值现在为空。调用函数时,某个参数未设置任何值,这时就可以传入null,表示该参数为空。比如,某个函数接受引擎抛出的错误作为参数,如果运行过程中未出错,那么这个参数就会传入null,表示未发生错误。
- undefined表示“未定义”,下面是返回undefined的典型场景。
// 变量声明了,但没有赋值
var i;
i // undefined
// 调用函数时,应该提供的参数没有提供,该参数等于 undefined
function f(x) {
return x;
}
f() // undefined
// 对象没有赋值的属性
var o = new Object();
o.p // undefined
// 函数没有返回值时,默认返回 undefined
function f() {}
f() // undefined
网友评论