JS的原始值与引用值类型及区别

JS的数据类型

首先需要注意的是JS是弱类型语言,它的类型是可变的。而JS为了节省内存空间而划分了不同的数据类型。
JS一共有五种简单数据类型,三种复杂数据类型。

JS的五种简单类型

Number数据类型

  • Number数据类型包含整数和浮点数,其中浮点数至少包含到小数点后一位。
  • NaN也属于Number类型。
    1.对于NaN经过任何操作(加减乘除等)后结果均为NaN。
    typeof(NaN) ## NaN
    
    2.NaN不等于NaN。
    NaN==NaN  ##false
    

string类型

  • 字符串类型的数据有length属性
  • String()函数适用于将任何数据类型转为string类型,但不支持转进制字符串
String(null) ##'null'
  • .toString()函数不支持将null、undefined类型转为string类型,但支持转进制字符串(如可以将字符串转成二进制形式)
false.toString() ##'false'
null.toString() ##报错
var b = "a"
b.charCodeAt().toString(2) ##'100001',即已将字符串a的ascii码转为二进制

Boolean类型

  • 包含两个值,True和False。

undefined类型

  • undefined类型只包含一个值就是undefined。
    • 如果使用var声明了一个对象,但没有对其赋值,那么它的值就是undefined。

Null类型

  • var n = null; 当把一个变量定义为null,则表示没有给这个变量分配内存空间。

JS的三种复杂类型

Object类型

  • 构造Object类型的两种方法
var person = new Object();
person.name="aaa"
person.age=24

var person={
     
  name:"aaa",
  age:24
}

原始值和引用类型及区别

  • 原始值,即五种简单数据类型
  • 引用值,即三种复杂数据类型
  • 区别: 简单数据类型直接存储在变量访问的位置,引用值存储在变量处的仅仅只是一个指针(内存地址)。

你可能感兴趣的:(笔记,常见面试题,javascript)