数据类型

数据类型包括 原始数据类型 引用数据类型

原始值
引用值

内存分为栈内存和堆内存


原始值在栈内存中

引用值栈内存只是一个地址
真正的数据存在堆内存中


var a = 1;
b = a;
a = 10;


var a = []
b = []
a.push(1)

var a = []
var b = []
console.log(a == b) // false


原始类型
String
单双引号让值变成字符串
空字符串
非空字符串
Number
不加引号的数字
无穷
NaN (在相关操作应该得到Number但是未得到时)
isNaN()
Boolean
true
false
Undefined
undefined
Null
null

数据类型转换
parseInt()
parseFloat()
.toString()
只有String Number Boolean

强制类型转换
String()
Number()
Boolean()
空字符串 false
NaN false
0 false
undefined false
null false

非空字符串 true
非0数字 true
infinity true

引用类型
数组
var arr = [1, 2, 3]
长度 arr.length
下标 0 -> arr.length-1

获取对应值
arr[下标]

字面量对象
var obj = {
键: 键值, // 键值对
}

对象没有顺序,没有下标

获取对应键值
obj.键名
obj['键名']

var b = '键名'
obj[b]

如果对象中的键全部都是数字的话,只能使用obj[0] 的方式获取对应的键值

如果一个字面量对象没有相关的文字键,只有数字键,外加一个length属性

var obj = {
"0": 1,
"1": 2,
"length": 2
}
类数组对象,实际上是对象,但是操作上和数组一样

Array.prototype.slice.call(obj) 得到的结果就是数组

如何判断一个值是否为数组
Object.prototype.toString.call(array) // [object Array]

操作符
一元运算符
+
-
+ - 有一个隐式的数据类型转换相当于Number() -会把数字变成负值
++
--
前自增/自减 后自增/自减
先自增,再使用
先使用,在自增
void
都返回undefined
new

连接元素符
+
可以用来字符串和其他数据类型的连接操作
算术运算符
+ 运算
除加号以外,算术运算符中都有隐式的数据类型转换
-
*
/
%
赋值运算符
=
+=
-=
*=
/=
%=
比较运算符
==
===
全等于比较数据类型, == 不比较数据类型
!=
!==
>
>=
<
<=
逻辑运算符
&&
前真取后
前假取前
||
前真取前
前假取后
!
有一个数据类型转换
!!值 相当于 Boolean(值)
三元运算符
条件 ? 条件为真 : 条件为假
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值