js基础面向对象

本文介绍了JavaScript中的对象概念,包括JS对象、宿主对象(如DOM和BOM)和自定义对象的创建。详细阐述了对象的属性初始化、获取、修改、添加和删除的方法,以及如何遍历对象属性。此外,讨论了对象中的方法、this关键字的用法,以及检查对象属性存在的方法。同时,提到了数据类型在堆栈中的存储方式,特别是引用类型对象的销毁机制。
摘要由CSDN通过智能技术生成

1)什么是对象

对象:(具体一个的物体)是一组属性和方法的集合

2)对象的分类

(1)js中的对象

(2)宿主对象

  1. 浏览器端:DOM,BOM
  2. Node端:node对象

(3)自定义对象

自定义对象的创建

  1. 对象字面量 {}

    1. 使用大括号{}创建空对象
    2. 属性名和属性值用冒号隔开,多组属性之间用逗号隔开
    3. 属性名中的引号可加可不加,如果有特殊字符必须添加
    4. 内部属性都是使用键值对
  2. 内置构造函数 var a=new Object()

    1. 构造函数的特点-》使用new来调用
    2. 使用new Object() 创建对象
  3. 自定义构造函数 function Yc(){}

3)对象的操作

对象属性初始化

(1)字面量初始化 直接{ 属性键值对}

(2)内置对象初始化 new Object( { 属性键对 })

对象属性获取:

(1)通过对象名.对象属性名

(2)通过对象名[‘对象属性名’]

注:如果属性不存在,返回undefined

对象属性修改

通过

(1)对象名.修改属性名 =修改值;

(2)对象名[‘修改属性名’]=修改值;

对象属性添加

通过

(1)对象名.添加属性名 =添加属性值;

(2)对象名[‘添加属性名’]=添加属性值;

对象属性删除

delete 对象名.属性名

delete 对象名[属性名]

4)对象属性的遍历 --遍历的意思就是访问每一个属性

for(var i in 对象 ){

console.log(i,对象【i】);

}

  1. 一般我们操作的时候是操作属性键值对的值,但遍历遍历的是键。
  2. 其中 i 表示对象内每个属性名
  3. 对象[i]表示对象内每个属性名的值

例子:

for(var key in person){

key//是对象内的每一个键

想访问值-> person[key]

}

注:对象【i】只能用【】 使用。会是undefined

5)对象中的方法–》本质就是对象的属性,存储的一个函数

形式

var a={

say:function(){ }

}

特点:就是一个匿名函数

6)this关键字

this指向当前所在的对象

7)检查对象中是否含有属性

(1)对象.属性名===undefined

(2)预定义方法,js提供好的

对象名.hasOwerProperty() 存在-》true

(3)in关键字 (‘属性名’ in 对象)-》true存在

8) 数据类型存储–堆栈

基本数据类型:栈内存 变量的声明是存储在栈内存,赋值本质就是对对堆内存进行赋值

引用数据类型:堆内存

引用类型的创建是 :在堆内存开辟一个空间,并产生一个地址,然后再栈内存声明一个变量,保存堆内存那个空间产生的十六进制地址

9)对象的销毁(null)

原理:对象不再被地址所引用,自动销毁–》变量赋值=null。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥肥呀呀呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值