JavaScript 是一种解释型语言,JavaScript指令以纯文本形式传递给浏览器,然后依次执行。因为不需要执行编译成计算机的二进制文件执行,使得JavaScript语言更加便于阅读、编写、测试。本篇文章主要是对JavaScript中的数据类型进行一个整理分享。
JavaScript属于”宽松类型”的编程语言,这也意味着JavaScript中的变量在不同的场合可以被解释为不同的类型。在JavaScript的世界里,不必如Java等其他语言那样需要事先申明变量类型,JavaScript的解释器会自己根据场景做出自己的判断。一般意义上,我们将JavaScript的类型分为如下这六类:
- Number类型
- Boolean 类型
- String类型
- Null
- Undefined
- Object
为了方便确认变量的数据类型,JS中提供了typeof操作符来检测当前变量的数据类型:
typeof 300 < 'number'
String 类型
string类型是一串字符组成,字符串被引号包裹,可以选择使用单引号或双引号包裹:
var testString = 'i'm a string~' var testString = "haha~"
字符串还有些特殊的文本通过转义符\来转换显示,常见的转义符号如下:
符号 | 说明 |
---|---|
\0 |
空字符 |
\' |
单引号 |
\" |
双引号 |
\\ |
反斜杠 |
\n |
换行 |
\r |
回车 |
\v |
垂直制表符 |
\t |
水平制表符 |
\b |
退格 |
\f |
换页 |
\uXXXX |
unicode 码 |
\u{X} … \u{XXXXXX} |
unicode codepoint |
\xXX |
Latin-1 字符(x小写) |
string也提供了很多很便捷的操作、方法等
- length:获取当前字符串长度属性
- replace:字符串替换方法方法
- search:检索字符串指定子串方法
- lastIndexOf、indexOf:字符串索引查找方法
- slice、substring 、substr:字符串截取方法
- split:字符串拆分方法
Number 类型
数字类型是比较宽泛的,其实在JS中我们可以把Number类型分为如下几种类型:
- 整型
- 浮点型
- 进制【二进制、八进制、十进制、十六进制】
var a1 = 10 // 整型 var a2 = 1.1 // 浮点型 var a3 = 1001 // 十进制 var a4 = 0o77 // 八进制 var a5 = 0xAE // 十六进制 var a6 = 0b1101 //二进制
常用方法
- toString:将数字作为字符串返回
- toFixed:返回一个指定小数位的字符串
- toExponential:数字进行舍入并且用指数表示法来表示,传递给改方法的参数制定了转换之后小数点后面的字符数字
Boolean 类型
bool类型的数据只有两个值:true(真)和false(假)。一般用于程序中控制逻辑判断。
var x = true;
var y = false;
需要注意的是,JS中把非0值作为true来处理,把0作为false来处理,除了0之外,如下这些值也会被JS当做false处理:
- false
- undefined(非字符串)
- null
- NaN
- 0
-
“”(空字符串)
Null和Undefined 类型
JavaScript中有两个比较直接的类型:Null和undefined。它们就如它们字面展示的意思一样:空和未定义。通常情况下,我们会将null和undefined称为假值,意思是“并非完全是假的,但它们可以解释为假”。
Object类型
js中对象是一组属性与方法的集合。所以一般情况下,我们可以将Array、Object(相对于Array)、Function都可以理解为Object类型。
var user = { age:29, sex:'male', name:'胖蔡' }; var colors = ['red','green','yellow','blue']; var fun = function getColor(colors,index) { return colors[index]; };