js数据类型

一、数据类型

JS分两种数据类型

基本数据类型:Number、String、Boolean、Null、Undefined、Symbol(ES6),这些类型可以直接操作保存在变量中的实际值。

引用数据类型:Object(在JS中除了基本数据类型意外的都是对象,数据是对象,函数是对象,正则表达式是对象)

1、基本数据类型(六种)存放在栈中

基本数据类型是指存放在栈中的简单数据段,数据大小确定,内存空间大小可以分配,它们是直接按值存放的,所以可以直接按值访问

  • 1.Number数值类型

Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一个数字)两种值

注意:在js中浮点数的精度是17位,计算是二进制的计算数 据,所以得到的不是整数

NaN:非数字类型,属于数值型基本数据类型

特点:

1):设计任何的NaN操纵都会返回NaN

console.log('ab'/10);//NaN

2):NaN不等于自身

console.log(NaN == NaN); //false

 判断是否是Number类型

1、isNaN:判断是否是一个非数字类型,传入的非数字类型,返回true,否则返回false

注意:传入的参数首先会被转化为数值,如果参数类型为对象类型,先调用valueOf()方法,再确定该方法返回的值是否可以转化为数值类型,如果不能,再调用toString()方法,再确定返回值。

2、typeof

console.log(typeof 12) //Number

 数值类型的转换

Number():可以用于任何的数据类型

ParseInt():提取整数数值

PaseFloat():提取浮点数值

  • 2.String字符串类型

特点:

1.字符串的单引号和双引号作用效果一样

2.字符串有length属性,可以取得字符串的长度

3.字符串的值是不可变的,所以很多的字符串的api不会改变原字符串值

 字符串转换:

String():适用于任何的数据类型(null_>null undefined _> undefined)

toString():null undefined没有这个功能

console.log(null.toString());//error报错

3.Boolean布尔类型

该类型只有两个值:true、false

 

//转换为`boolean`:`Boolean()`
Boolean(undefined) //false
Boolean(null) //false
Boolean(非空对象包括空数组[]和空对象):true
Boolean(非0) // true || Boolean(0和NaN) //false
Boolean(非空包括空格字符串) //true || Boolean("") //false

4.Null空对象指针类型

如果定了一个对象,初始化可以为null,因为null的基本类型是Null,再if语句中默认转化为false,在和数值计算默认为0

出现场景:对象不存在

5.Undefined

申明了变量但是没有初始化,默认为undefined,在if语句中默认转化为false

undefined:表示‘缺少值’,就是应该有一个值,但是没有定义,以下用法是典型的出现

undefined情况

(1)变量被申明,等于undefined

(2)调用函数时,应该提供的参数没有提供,该参数等于undefined

(3)对象没有赋值的属性,该属性值为undefined

(4)函数没有返回值,默认返回undefined

6.Symbol

ES6新增的一个基本数据类型,表示唯一性

2、引用数据类型

引用数据类型也叫对象数据类型,包括function,object,array,date,RegExp灯可以适用 new创建的数据,又叫对象类型,他们是存放在堆内存中的数据

特点:

  • 引用类型的值可以改变
  • 引用数据类型可以添加属性和方法
  • 引用数据类型的赋值是对象引用
  • 引用类型的比较是引用的比较
  • 引用类型是同时保存在栈区中和堆区中的,引用类型的存储需要在内存的栈区和堆区中共同完成,栈区保存变量标识符和指向堆内存的地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值