JS 里的数据类型

JS目前共有7种数据类型,其中6种为简单类型(number,string,boolean,null,undefined,symbol),一种为复杂类型(object)。

1.Number类型

1.1 数字包含整数以及小数。所有数字都是由64位浮点数存储的。

类似1和1.0是相等的

1===1.0
true

但是涉及到小数的运算需要格外小心,是有微小误差的

0.3/0.1=3
VM65:1 Uncaught ReferenceError: Invalid left-hand side in assignment
0.3/0.1
2.9999999999999996
1.2 数值的进制

使用字面量表示数值时,js对整数提供4种进制表示方法:
2进制//前缀为0b或者0B
8进制//前缀为0或者0o或者00,且只用1~7的阿拉伯数值表示
10进制//没有前导0的数值
16进制//有前缀0x或者0X

1.3 NaN

NaN是JS的特殊值,表示非数字(Not a Number)
但NaN本身是属于数值的

typeof NaN
"number"

NaN不等于自身和任何数值;NaN在boolean运算时为false;NaN与NaN的运算都是false;
isNaN()方法用以判断一个值是否为NaN

1.4.1 parseInt()方法

parseInt()方法用于将字符串转化为整数。
同时也可以输入两个参数,第二个参数输入2-32的阿拉伯整数,将第一个参数转化为相应进制的数值。第二个参数输入超出限定的数值后,输出结果会表示为NaN(0,null,undefined作为参数则直接被忽略)

2.String

2.1定义

字符串是0个或者多个排列在一起的字符,放在单引号和双引号内。
字符串默认只能写在一行,否则会报错

'a
b 
c'
//VM106:1 Uncaught SyntaxError: Invalid or unexpected token

如果强迫症必须要写成三行没可以在末尾添加反斜杠

'a\
b\
c'
//"abc"

或者使用'`'符号包裹,就是键盘上数字1键位左边那个

`a
b
c`
//
"a
b
c"
2.2转义符

反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。
常用的需要反斜杠来转义的特殊字符:
\0:null
\n:换行符
\r:回车键
\t:制表符
':单引号
":双引号
\:反斜杠

2.3 字符串与数组;Length属性

字符串可以被视为一个数组,可以用方括号运算符属性查看相应位置的字符;也可以用length属性查看长度。但其相似度仅仅如此,无法如同数组一样对其属性进行变更

('naruto')[0]
//"n"
('naruto').length
//6

3 Null和Undefined

null和undefined都表示‘无’。
一般用null来表示空对象;undefined表示空非对象类型。

4 Boolean类型

布尔值分为true和false,常用于逻辑运算。
以下运算符会返回布尔值
前置逻辑运算符:!(表示not)
相等运算符:===,!==,==,!=
比较运算符:>,>=,<,<=
在逻辑运算中,null,undefined,NaN,0,false,''(空字符串),直接转换为false.
空数组和空对象对应的布尔值都是true.

5 symbol类型

symbol类型是ES6新引进的一中数据类型,表示独一无二的值。

var a=Symbol();
var b =Symbol();
a===b;
false

6 Object

6.1
object是JS语言的核心,是最重要的数据类型。
可以用var a={};来创建对象
这是一个空数组,键名(属性名;key)和值可以在创建时添加,也可以在随后动态地添加。需要注意,其命名规则需要和标识符一致,不然需要加上引号,否则会报错。
6.2可以使用delete 删除属性

var yyy={a:b}
delete yyy.a;//true
yyy//{}

6.3 使用in运算来查看属性是否存在

var yyy={a:b}
'a' in yyy//true

6.4 遍历属性
使用for in 循环来遍历一个对象的所有属性

var yyy={a:1,b:2,c:3}
for(var i in yyy){console.log('键名:'+i+','+'键值:'+yyy[i]);}
VM654:1 键名:a,键值:1
VM654:1 键名:b,键值:2
VM654:1 键名:c,键值:3

更新2018/9/23

1. String转换为Number

1.1 Number()
1.2 parseInt()或者parseFloat
1.3 'string' - 0 //通过减零来实现,老司机技能
1.4 +'string' //通过取正来实现

2. 转换为String

2.1 .toString()方法实现
2.2 xxx+'' //值加空字符串,任意一边有字符串,js就会尝试把另一边也转化为字符串,老司机技能

3. 逻辑运算,求false和true

3.1 Boolean()
3.2 !! //求反,老司机技能
需要注意5个falsy值(undefined,null,NaN,0,''),这五个中最后一个为空字符串。

你可能感兴趣的:(JS 里的数据类型)