JS 里的数据类型
-
JS中有七种数据类型,分别是:number,string,boolean,undefined,null,object,symbol
注:没有function和array类型,typeof null/array会返回object,typeof function会返回function -
number 数字类型
number在js中都是以浮点数形式存在
- 十进制:没有前导0的数值。
- 八进制:有前缀0o或0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值。
- 十六进制:有前缀0x或0X的数值。
- 二进制:有前缀0b或0B的数值。
- NaN: NOT a Number 非数字,他不等于任何数,它与任何数的运算都是NaN,boolean返回false,它不是一个数据类型typeof NaN返回number
- string 字符串类型
string是一系列被引号包围的字符,(可以是数字,符号,字母,其他文字)
- 如果要在单\双引号字符串的内部,使用单\双引号,就必须在内部的单\双引号前面加上反斜杠,用来转义
字符串默认只能写在一行内,分成多行将会报错,怎样将字符串分成多行写呢?常见有以下方法
var longString = 'a\
b\
c'
//在每一行后面加上反斜杠,但是要注意反斜杠后面存在空格的话会报错
var longString = 'a'+
'b'+
'c'
//用+连接符将字符串连接起来
var longString = `a
b
c`
//用重音符 ` 把字符串包围,但是这种方法会把换行也保存下来
- boolean 布尔值类型
布尔值代表“真”和“假”两个状态。“真”用关键字true表示,“假”用关键字false表示。布尔值只有这两个值。
- 如果 JavaScript 预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为false,其他值都视为true。
undefined
null
false
0
NaN
" "或 ' '(空字符串)
- null与undefined类型
null与undefined都可以表示“没有”,含义非常相似。
- 语法:如果一个变量没有值,那么该变量为undefined
- 惯例1:如果想声明一个对象,暂时不想给值,可以给其赋值null
- 惯例2:如果想声明一个非对象,暂时不想给值,可以不赋值让其默认为undefined
- object 对象类型
object类型可以涵盖之前的所有类型,其本质就是哈希表,是一种无序键值对的复合数据集合。
- 对象obj的所有键名虽然看上去像数值,实际上都被自动转成了字符串。
- 对象的key如果满足标识符规范可以不用加引号,否则要加引号
- 对象内容最后可以加'','' 如果加了'',''则不支持ie7以前的版本
- 可通过delete obj.key的方式删除相应的键值对
- 可通过 for(var key in obj){console.log(obj[key])}的方式来遍历obj,但是要注意若要引用相应key对应的值
则要用obj[key]的方式,obj.key与obj['key']都是错的
- symbol 类型
Symbol 可以创建一个独一无二的值(但并不是字符串)。
网友评论