首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端基础-JS面向对象编程

第1章 JS面向对象编程 ? 学习目标 初步理解对象是什么及面向对象编程的概念 能够自己创建一个对象 1.1 面向对象介绍 什么是对象?...Everything is object (万物皆对象), JS语言中将一切都视为 对象 ?...当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程。...对象的每个属性或方法都有一个名字,而每个名字都 映射到一个值。 1.2 面向对象编程 面向过程:以前写js代码,都是面向过程。...面向对象与面向过程: 面向过程就是亲力亲为,事无巨细,面面俱到,步步紧跟,有条不紊 面向对象就是找一个对象,指挥得结果 面向对象将执行者转变成指挥者 面向对象不是面向过程的替代,而是面向过程的封装 面向对象的特性

1.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

前端学习(38)~js学习(十五):原型对象

这个属性对应着一个对象,这个对象就是我们所谓的原型对象。...认识2: 原型对象就相当于一个公共的区域,所有同一个类的实例都可以访问到这个原型对象,我们可以将对象中共有的内容,统一设置到原型对象中。...原型链 原型对象也是对象,所以它也有原型,当我们使用或访问一个对象的属性或方法时: 它会先在对象自身中寻找,如果有则直接使用; 如果没有则会去原型对象中寻找,如果找到则直接使用; 如果没有则去原型的原型中寻找...JS的垃圾回收(GC)机制 程序运行过程中会产生垃圾,这些垃圾积攒过多以后,会导致程序运行的速度过慢。所以我们需要一个垃圾回收的机制,来处理程序运行过程中产生垃圾。...上面这句话,也可以这样理解:如果堆内存中的对象,没有任何变量指向它时,这个堆内存里的对象就会成为垃圾。 JS拥有自动的垃圾回收机制,会自动将这些垃圾对象从内存中销毁。

47010

前端进阶JS函数增强与对象增强

JS函数增强 函数属性 JavaScript中函数也是一个对象,那么对象中就可以有属性和方法,他有一些默认的属性 name 函数名 length 函数参数个数(ES6 ......语法不会被算在内) arguments 类似数组对象 可以i用索引来获取对象 rset PS: 箭头函数不绑定 Arguments 对象 arguments 转为数组对象常见方法 普通的方法 就是将内容一个一个迭代到新数组了...他是一个特殊函数可以将传入的字符串当作js代码执行 可读性差 有注入风险 必须经过解释器 不会得到引擎的优化 严格模式的使用 js的局限性 : JavaScript 不断向前发展且并未带来任何兼容性问题...; 新旧代码该新模式对于向下兼容有帮助但是也有问题出现 就是创造者对于js的不完善之处会一直保留 ES5标准中提出了严格模式的概念,以更加严格的方式对代码进行检测和执行 只需要在代码的开头或者函数的开头...加入use strict就可以开启严格模式 JS对象增强 数据属性描述符 我们的属性一般定义在对象的内部或者直接添加到对象内部,但是这种方式我们就不能对属性进行一些限制,比如这个属性是否是可以通过delete

60530

前端学习(42)~js学习(十九):内置对象-Date

内置对象:Date 内置对象 Date 用来处理日期和时间。 需要注意的是:与 Math 对象不同,Date 对象是一个构造函数 ,需要先实例化后才能使用。...创建Date对象 创建Date对象有两种写法: 写法一:如果Date()不写参数,就返回当前时间对象 写法二:如果Date()里面写参数,就返回括号里输入的时间对象 写法一:不传递参数时,则获取系统的当前时间对象...代码举例: var date1 = new Date(); console.log(date1); console.log(typeof date1); 代码解释:不传递参数时,表示的是获取系统的当前时间对象...还有如下方法: getTime() 获取当前日期对象的时间戳。...format() 将时间对象转换为指定格式。

2.3K30

前端基础进阶】JS原型、原型链、对象详解

普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的。分为普通对象和函数对象,Object 、Function 是 JS 自带的函数对象。...__proto__的属性;2.每个构造函数(构造函数标准为大写开头,如Function(),Object()等等JS中自带的构造函数,以及自己创建的)都具有一个名为prototype的方法(注意:既然是方法...,那么就是一个对象JS中函数同样是对象),所以prototype同样带有__proto__属性); 3.每个对象的__proto__属性指向自身构造函数的prototype; 4.每个对象都有 、...原型链 五、原型链 原型对象其实也是普通的对象。几乎所有的对象都可能是原型对象,也可能是实例对象,而且还可以同时是原型对象与实例对象。这样的一个对象,正是构成原型链的一个节点。...Function.prototype//true 所以构造函数Function的__proto__和prototype都指向Function.prototype 第二 因为Function和Object都是js

74830

前端学习(37)~js学习(十四):对象的创建

创建自定义对象的几种方法 方式一:对象字面量 对象的字面量就是一个{}。里面的属性和方法均是键值对: 键:相当于属性名。...所以创建的对象都是Object这个类型,就导致我们无法区分出多种不同类型的对象。...(2)让 this 指向这个新的对象。 (3)执行构造函数里面的代码,给这个新对象添加属性和方法。 (4)返回这个新对象(所以构造函数里面不需要return)。...类、实例 使用同一个构造函数创建的对象,我们称为一类对象,也将一个构造函数称为一个类。 通过一个构造函数创建的对象,称为该类的实例。...JSON和对象字面量的区别:JSON的属性必须用双引号引号引起来,对象字面量可以省略。

1.6K20

前端学习(32)~js学习(九):对象简介和对象的基本操作

面向对象简介 面向对象:可以创建自定义的类型,很好的支持继承和多态。 面向对象的特征:封装、继承、多态。 对象的概念 在 JavaScript 中,对象是一组无序的相关属性和方法的集合。...而如果用JS中的对象来表达,结构会更清晰。...对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间。变量保存的是对象的内存地址(对象的引用)。...由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象。...3.自定义对象: 由开发人员自己创建的对象 对象的基本操作 创建对象 使用new关键字调用的函数,是构造函数constructor。构造函数是专门用来创建对象的函数。

61710

前端day17-JS高级(原型对象)学习笔记

01-面向对象编程 1.1-面向对象编程介绍 1.理解什么是面向对象编程 面向对象不是一门技术,而是一种解决问题的思维方式 面向对象的本质是对面向过程的一种封装 2.理解什么是对象 对象的本质是程序代码与现实世界沟通的一座桥梁...,不是,面向对象其实是对面向过程的一个封装 */ /*2.理解什么是对象*/ //2.1 对象是对单个实物的抽象 --------万物皆对象 /* 一台车:...,系统都会自动帮我们创建一个与之对应的对象,称之为原型对象 同时解决内存浪费与全局变量污染的问题 谁可以访问原型对象中的成员(属性和方法) 构造函数自身:构造函数名.prototype 构造函数实例化的每一个对象...构造函数实例化对象共有的数据 例如:构造函数Dog用于创建狗对象,每一只狗都有saiHi叫的方法,此时可以添加到原型对象。...3.原型对象可以重新赋值 通过构造函数名.prototype来修改原型对象,不要使用实例化对象.proto来修改原型对象 实例化对象访问原型中的成员变量,是访问修改前还是修改后,取决于这个对象是在修改前实例化还是修改

46730

前端day10-JS学习笔记(数组、函数、对象)

根据不同的情况需要调用的函数也不同,那么我们可以使用形参来接收这个函数,然后再调用 此时:这个形参函数就称之为回调函数 自调用函数 1.什么是自调用函数:函数自己调用自己 最常见的:匿名函数自调用 2.自调用函数作用 开辟作用域,js...(语法学习) 3.1-对象介绍 对象作用:一个变量存储多个数据 对象与数组异同点 相同点:一个变量存储多个数据 不同点: 数组有序存储:元素与下标一一对应 对象无序存储:属性名与属性值一一对应(...键值对) 3.png 3.2-对象取值与赋值 a.声明: var 对象名 = {属性名:属性值} b.取值: 对象名.属性名 属性存在,则获取属性值 属性不存在,则获取undefined c....赋值: 对象名.属性名 = 值 属性存在,则修改属性值 属性不存在,则动态添加属性 3.3-对象的初始化 var 对象名 = { 属性名:属性值 } 问题:假设一个拥有名字name,价格...,而是age变量未声明 var age = 111; console.log(person[age]);// 程序报错 3.5-对象遍历 对象的遍历 : 获取对象的每一个属性值

1.7K00

JS】723- 前端如何优雅的处理类数组对象

一、背景介绍 Leo 部门最近来了位前端实习生 Robin,作为师傅,Leo 认真的为 Robin 介绍了公司业务、部门工作等情况,还有前端的新人学习地图。...二、类数组对象介绍 2.1 概念介绍 所谓 类型化数组对象(简称类数组对象) 是一种类似数组的对象,它提供了一种用于访问原始二进制数据的机制。...: const arrLike = { 0: 'name', 1: 'age', 2: 'job', length: 3 } 2.2 常见类数组对象 arguments 对象; function...js 代码如下: class SelectMember { constructor(){ this.MockUsers = window.MockUsers;...,对于常见的类数组对象,我们还介绍了处理方式,能很大程度减少我们处理类数组对象的操作,将类数组统一转成数组,更加方便对数据的操作。

1.9K31

深度剖析前端JavaScript中的原型(JS对象原型)

这张图片有点劝退了,哈哈哈~ 通过原型机制,JavaScript 中的对象从其他对象继承功能特性;这种继承机制与经典的面向对象编程语言的继承机制不同。...JavaScript 常被描述为一种基于原型的语言 (prototype-based language)——每个对象拥有一个原型对象对象以其原型为模板、从原型继承方法和属性。...原型对象也可能拥有原型,并从中继承方法和属性,一层一层、以此类推。这种关系常被称为原型链 (prototype chain),它解释了为何一个对象会拥有定义在其他对象中的属性和方法。...你可能会认为,this 关键字指向当前对象的原型对象,其实不是(还记得么?原型对象是一个内部对象,应当使用 __proto__ 访问)。...这种继承模型下,上游对象的方法不会复制到下游的对象实例中;下游对象本身虽然没有定义这些方法,但浏览器会通过上溯原型链、从上游对象中找到它们。这种继承模型提供了一个强大而可扩展的功能系统。

1.1K30
领券