前端初学者应该如何理解面向对象?

转载 2018年04月16日 16:42:16

对于面向对象很多初学者刚开始学习的时候会有很多疑惑而导致混淆,我总结了一些关于自定义函数,实例,原型对象的知识点。

一、自定义构造函数(可见)

1、构造函数和自定义构造函数的区别:

构造函数是通过调用内置构造函数创建对象的,而自定义构造函数是通过调用自己创建的函数创建对象的,调用方式不同。

2、构造自定义函数的执行步骤:

创建一个Object对象

将构造函数的this指向这个对象

执行构造函数中的代码

返回Object对象

3、约定:首字母大写

4、属性:prototype

5、关于this

函数是否用通过new调用

是:实例

否:(函数是否通过点语法调用)

是:指向(.)之前的对象

否:指向window


二、实例(可见)

1. 隐藏属性[[prototype]]该属性无法查看,但该属性指向原型对象

2. 实例.__proto__ 注意proto前后是两个杠 "_",输出控制台可以查看


三、原型对象(隐藏)

属性:

constructor 该属性的值是个对象,该对象就是自定义构造函数

相关的对象访问规则(为什么原型对象中的所有属性/方法能被所有的实例共享的原因)

当前对象->原型对象->Object的原型对象(Object.prototype),如果没有找到则就会得到undefined

综合案例:

实际开发中常用构造函数设置属性,原型对象设置方法这种组合当遇到,方法需要特殊处理时,可以把重名方法写到实例中去


例子:

function Person(name,age){

//构造函数添加属性

this.name = names;

this.age = 22;
}//原型对象添加方法

Person.prototype.say = function(){

console.log('超能说');
}

//实例

var p1 = new Person();

//特殊方法实例添加重名方法,它会先读取实例中的方法

p1.say = function(){

console.log('贼能说');
}

//此时调用p1的say方法只会输出贼能说,不会输出超能说


来源:千锋HTML5

javascript中的面向对象理解(一)

一、注意:提到“面向对象”这一概念,众所周知,javascript中的面向对象思想与其他的编程语言(例如:PHP、Java等)是有着很大区别的。因此,我们先复习下,传统意义上,面向对象的相关概念,以便...
  • u014516981
  • u014516981
  • 2016-10-19 23:48:23
  • 2514

java入门、java学习:如何理解Java面向对象

首先要说明一点,对象不是java的,事实上他只是一种概念,一种用于解决问题的程序设计的思想方法。要理解对象就必须得要和面向对象结合起来。在面向对象中把某一类事物所共有的属性和行为抽象出来之后就形成了一...
  • javaniuniu
  • javaniuniu
  • 2016-05-23 10:59:01
  • 2104

前端复习--js面向对象的理解

这周一通过去闪银面试,和做熊猫的题,我发现,自己对js面向对象的理解,其实是 停留在很初级的层面上,需要不是几道面试题能解决的,我需要的是一本书。这本书目前是找到了:Oriented-object  ...
  • hellokingqwe
  • hellokingqwe
  • 2016-10-19 00:27:25
  • 2177

前端面向对象

关于面向对象开发前端简单写法。 1.如果你是学的后端,想了解前端面向对象的写法,很容易上手。 2.面向对象是一种思维模式。(个人见解),本人是学的后端,对于前端浅浅认知。 3.为了便于理解,最好...
  • XIAOMAO1107
  • XIAOMAO1107
  • 2017-08-12 22:46:10
  • 79

如何理解面向对象思想

我们学习JAVA语言必须要掌握对象和类,这样的话就可以更深层次的理解JAVA这种面向对象的程序开发理念,从而更好更快  地掌握JAVA的变成思想和方法。掌握类和对象是JAVA语言变成的基础。那么,...
  • LK764265808
  • LK764265808
  • 2016-07-08 11:05:03
  • 7283

js面向对象理解二

js面向对象理解(二) 前面总结了js面向对象的一些基础概念,接下来想说说关于js面向对象中创建对象这块的内容,以下是我个人的一些见解,有任何纰漏的地方还请大家批评指正! 一、创建对象: 1...
  • u014516981
  • u014516981
  • 2016-11-03 22:40:22
  • 791

三大框架的理解

1.谈谈struts的理解  1.struts是一个按mvc模式设计的web框架,其实他就是一个大大的servlet,这个Actionservlet,我们就可以在web.xml中将符合某种特征的所有请...
  • u014209975
  • u014209975
  • 2015-01-31 18:21:05
  • 785

面试总结之谈谈你对面向对象的理解

对面向对象的理解 在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象...
  • weixin_40066829
  • weixin_40066829
  • 2017-09-27 12:17:05
  • 1697

面向对象与面向过程理解

面向对象与面向过程
  • u013412772
  • u013412772
  • 2016-10-31 20:21:08
  • 664

Js核心面向对象面试题

1.网页三要素是什么 Icon HTML(内容) CSS(外观) Javascript(行为) 2.JavaScript是什么 Icon JavaScript一门解释型(不是编译...
  • t0404
  • t0404
  • 2016-07-12 22:43:41
  • 10603
收藏助手
不良信息举报
您举报文章:前端初学者应该如何理解面向对象?
举报原因:
原因补充:

(最多只允许输入30个字)