js的数据分类

发布于:2022-12-25 ⋅ 阅读:(147) ⋅ 点赞:(0)

目录

文章目录

前言

一、简单数据类型/基本类型

1.Number数字类型

2.String 字符串型

3.Boolean 布尔值类型

4.null

扩展:为什么null是object?

5.undefined

6.symbol

二、复杂数据类型/引用类型/对象类型

1内置对象

2 宿主对象

3 自定义对象

三 对象的扩展:属性和方法的分类

一:属性

1 自定义属性(own properyt)

2 继承属性(inherited property)

二:方法

1 静态方法

2 原型方法

总结



前言

发现很多小伙伴对js数据类型不是很理解,在本篇文章特别进行了整理分类。


提示:以下是本篇文章正文内容,下面案例可供参考

一、简单数据类型/基本类型

简单类型又叫基本数据类型或者值类型放在栈内直接放值本身

1.Number数字类型

包含整型值和浮点型值 例如 :1   0.1

2.String 字符串型

例如:‘张三’

3.Boolean 布尔值类型

true、false

4.null

代表空,是一个空指针

扩展:为什么null是object?

null:按照万物皆对象原理null是对象,但是null( 不是对象 ) 被判断为是object类型的原因是“在 JS 的最初版本中使用的是 32 位系统,为了性能考虑使用低位存储变量的类型信息,000开头代表是对象,然而null表示为全零,所以将它错误的判断为object。虽然现在的内部类型判断代码已经改变了,但是对于这个 Bug 却是一直流传下来。

5.undefined

当变量声明未赋值时,会给该变量赋值undefined。

6.symbol

ES6新增的数据类型。表示独一无二的值

二、复杂数据类型/引用类型/对象类型

复杂类型又叫做引用类型放在堆内 首先在栈内存地址 然后这个地址指向堆内的数据

1内置对象

常用内置对象:

  • String(字符串对象);
  • Array(数组对象);
  • Date(日期对象);
  • Math(数学对象);
  • Number(数字对象);
  • Function(函数对象);

2 宿主对象

  • BOM-浏览器对象模型;
  • DOM-文档对象模型;

3 自定义对象

第一种是Object形式的自定义对象

        var 变量名=new Object();//对象实例(空对象)

第二种是{ }花括号形式的自定义对象

三 对象的扩展:属性和方法的分类

对象离不开属性和方法,那么属性和方法分为什么类型呢?

一:属性

1 自定义属性(own properyt)

是直接在对象中定义的属性。

2 继承属性(inherited property)

是在对象的原型对象中定义的属性

二:方法

1 静态方法

静态方法中的this指向调用它的对象,静态方法只能被类调用

2 原型方法

原型方法中的this指向实例对象,原型方法只能被实例调用


总结

引用类型值可添加属性和方法,而基本类型值则不可以。

根本区别就是在内存中的存储方式,引用类型存在栈内,基本类型存在堆内


网站公告

今日签到

点亮在社区的每一天
去签到