JavaScript的基本数据类型
以下都是JS内置的几种类型
数据类型 | 描述 |
---|---|
number | 数字,不区分整数和小数 |
string | 字符串类型 |
boolean | true 真, false 假 |
undefined | 表示未定义的值 |
null | 只有唯一的值 null,表示空值 |
number 数字类型
JavaScript 中不区分整数和浮点数,统一都使用 “数字类型” 来表示
示例代码
<script>
let a =10;
console.log(typeof(a))
a= a/3
console.log(a)
console.log(typeof(a))
</script>
运行结果
特殊的数字值:
Infinity
:无穷大, 大于任何数字,表示数字已经超过了 JS 能表示的范围.
-Infinity
: 负无穷大, 小于任何数字,表示数字已经超过了 JS 能表示的范围.
NaN
: 表示当前的结果不是一个数字
1.Infinity
的示例代码
<script>
console.log(10/0)
</script>
运行结果
2.-Infinity
的示例代码
<script>
console.log(-10/0)
</script>
运行结果
3.NaN
的示例代码
<script>
console.log("hahaha"-1)
</script>
运行结果
string 字符串类型
注:字符串字面值需要使用引号引起来,单引号双引号均可
示例
<script>
let a ='哈哈哈'
a = 'JS'
</script>
字符串中本身已经包含引号的情况
1.正确搭配使用单双引号
示例1:
<script>
let a ='js'
a ="哈哈哈'js'"
</script>
示例2:
<script>
let b = "js"
b = '哈哈哈"js"'
</script>
2.使用转义字符 \ " 来表示字符串内部的引号
示例:
<script>
let name = "liaofeiyang"
name = "my name is \"liafeiyang\""
alert(name)
</script>
运行效果
一些其它的转义字符,比如: \t
=> t ,\n
=> n ,\\
=> \
字符串求长度
使用 String 的 length 属性即可
示例代码
<script>
let a = "哈哈哈"
console.log(a.length)
</script>
运行效果
字符串拼接
使用
+
进行拼接
示例代码
<script>
let a = "小白"
console.log("fly: "+ a)
</script>
运行结果
数字和字符串也可以进行拼接
示例
<script>
console.log("10" + 10)
</script>
运行结果
boolean 布尔类型
表示 “真” 和 “假”,当Boolean参与运算时会被做 1 和 0 来看待,和 C 语言一样
示例1
<script>
let a = true
console.log(typeof(a))
a = a + 1
console.log("a的值等于:"+a+" a的类型:"+typeof(a))
</script>
运行结果
示例2
<script>
let a = false
console.log(typeof(a))
a = a + 1
console.log("a的值等于:"+a+" a的类型:"+typeof(a))
</script>
运行结果
undefined 未定义数据类型
1.如果一个变量被定义了,但是没有被赋值,也就是没有被初始化过, 此时这个变量就是 undefined, 是 undefined 类型的
示例代码
<script>
let a;
console.log(a)
</script>
运行结果
2.undefined
和字符串进行相加, 结果是进行字符串拼接
示例代码
<script>
let a;
console.log(a + "10")
</script>
运行结果
3.undefined
和数字进行相加,结果为NaN
示例代码
<script>
let a;
console.log(a + 10)
console.log(a + true)
</script>
运行结果
null 空值类型
null 表示当前的变量是一个 “空值”
注: null 和 undefined 都表示取值非法的情况, 但是侧重点不同
undefined 表示当前的变量未定义,而 null 是被定义/被赋值了的,只不过它的值就是 null
示例代码
<script>
let a;
let b = null;
console.log(a + 10); //运行结果为NaN
console.log(b + 10); //运行结果是10
</script>
运行结果