首页IT科技javascript对象类型分哪三种(js对象的理解)

javascript对象类型分哪三种(js对象的理解)

时间2025-06-20 13:50:46分类IT科技浏览3644
导读:一.概念介绍...

一.概念介绍

首先           ,要明白对象是单个实物的抽象              ,对象是一个容器      ,封装了属性和方法         ,而面向对象是相对于面向过程来说的              ,面向对象的好处就是可抽象         ,封装和可重用性      ,同时还提供了多态          、继承等非常有用的特性           。

1.创建对象

一般来说              ,在js中构建对象有以下几种方式              。

(1)利用字面量创建对象

对象字面量:就是花括号{ }里面包含了表达这个具体事物(对象)的属性和方法      。var obj ={ };{ }里面采用键值对的形式表示

键:相当于属性名

值:相当于属性值           ,可以是任意类型的值(数字类型                 、字符串类型    、布尔类型       、函数类型)

例如:注意函数类型的值的写法

(2)构造函数介绍---见         。

(3)原型链

(4)类class----见ES6新特性篇

(5)利用object创建对象

语法:let obj = new Object();

new是一个运算符   ,和±*/一样是一个运算符 , 表示新创建一个对象

由于我们是使用系统默认的类创建的对象, 所以系统不知道我们想要什么属性和行为, 所以我们必须手动的添加我们想要的属性和行为

给一个对象添加属性 : 对象名称.属性名称 = 值;

给一个对象添加行为 : 对象名称.行为名称 = 函数;

2.new的过程干了哪些事情

new 在执行时会做四件事情:

在内存中创建一个新的空对象              。

让 this 指向这个新的对象         。

执行构造函数里面的代码               ,给这个新对象添加属性和方法      。

返回这个新对象(所以构造函数里面不需要return)              。

3.静态成员和实例成员

● 成员:就是指属性                  、方法的统称

● 静态成员是指:由构造函数直接调用的属性       、方法叫静态成员             ,不能通过对象访问

● 实例成员是指:由构造函数创建出来对象才能调用的属性和方法就叫实例成员,在构造函数内部通过this添加的成员           。

● 实例化: 创建一个对象             ,也可以叫实例化一个对象

uname age sing 就是实例成员               ,可以通过实例来访问:console.log(ldh.uname);

假如我们在构造函数本身上添加的成员 sex    ,也就是添加一个静态成员:Star.sex = 男; 则           ,静态成员只能通过构造函数来访问:console.log(Star.sex);

基于此              ,了解到虽然构造函数挺不错的      ,但是存在一个严重的内存浪费的问题         ,当我们使用构造函数创建多个实例的时候              ,如果这个函数里面有多个静态成员的函数         ,那么我们每一次创建实例对象      ,构造函数下的方法都会重新开辟一个内存空间去存放这些方法   。

但是明明这些方法都是一个构造函数里面的              ,干嘛要这么麻烦           ,还要占用内存   ,所以出现了原型               。

声明:本站所有文章               ,如无特殊说明或标注             ,均为本站原创发布             。任何个人或组织,在未征得本站同意时             ,禁止复制    、盗用                 、采集          、发布本站内容到任何网站  、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益               ,可联系我们进行处理             。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
调戏chatGPT(二)下围棋