js 删除对象属性_Js面向对象编程

1、什么是面向对象思想(编程思想角度)

(1)面向过程:关注的是解决问题的步骤

优点:在小型程序中代码量比较少,开发成本低

缺点:在构建大型项目是,代码逻辑不易捋顺、代码量大、代码编写繁琐,增加开发难度

(2)面向对象:关注的是解决问题所需要的对象(内容、角色),然后根据业务逻辑按一定的规则调用这些对象的相关功能、方法

优点:有弥补了面向过程编程思想的不足

缺点:在小型程序中不如面向过程思想灵活、方便

2、什么是面向对象语言(编程语言角度)

(1)什么是对象:万事万物皆为对象每一个具体的物品、实例就是一个对象:new Number()

(2)几个重要的概念:

对象(实例):属性(对象的特征)方法(对象的行为)

封装

继承

多态

3、js和面向对象的关系

Js是基于对象的语言,但是可以使用“面向对象”的思想让这个语言模拟java之类的面向对象语言

4、js如何创建对象?从一个“模板”(类、函数)那里创建出一个个具体的“东西”(对象)。如:从月饼模板中创建出月饼

①直接创建 优势:快捷、直观、方便

劣势:需要创建多个对象时,代码冗余

719a74a38fc3f0624c8f1706ea8ac8dd.png

使用函数创建(工厂模式) 优势:解决了代码冗余问题

劣势:无法区分该对象的类型(如:系统类 型,number是Number()创建出来的,但是自定义类型无法获取到)

5f0c855b093774c1a67642582577e490.png

使用构造函数(函数名首字母大写)

优势:解决了获取对象类型的问题,使用构造函数创 建的对象自带一个constructor,通过该属性获取对象的类型(还可以使用instanceof检测对象是哪个类型的实例:(person instanceof Person),返回一个布尔值)

劣势:内存占用空间有点大(相对来说)

f8c4c57fcc01852da0c9097ac5233c67.png

(2) 工厂模式和构造函数创建函数的区别

1.在函数中没有显示的创建对象

2.直接把属性、方法赋值给了this指针

3.没有return语句

4.使用构造函数创建出来的对象可以识别这个对象属于哪一种类型

(3) 普通函数调用和构造函数调用的区别

必须使用new操作符来创建出来的对象,如果像调用普通函数那样创建对象,就是在全局作用域中调用函数了,this指针会指向window对象

5、如何在js中使用面向对象

(1)访问对象的属性

1.点语法(.)和[ ]访问某一个属性

使用点语法访问属性,点后直接跟属性名

使用[ ]访问属性,[ ]里属性字符串必须是字符串类型的数据 或 保存属性名字的字符串变量

2.使用for.....in....遍历对象的所有属性

             for (var property in per1) {

                       console.log(property+"="+ per1[[property]);
              }

3.删除属性:delete box1.name;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值