美文网首页
【面向对象】

【面向对象】

作者: 米塔塔 | 来源:发表于2017-02-24 00:16 被阅读0次

【面向过程】

    每一个过程都会去做

【面向对象】

 思想,写程序的方法

1、什么是对象

都是独立的个体

2、什么是面向对象

咱们只关心怎么使用,不去关系他的内部是如何实现的

arr.push()

3、怎么创建一个对象

var arr=[];

arr.length  属性

arr.push()  方法

对象身上都有属性和方法

属性/变量

变量:自由的个体,没有约束

属性:依附于对象身上。

方法/函数

函数:自由的个体,没有约束

方法:依附于对象身上。

this:当前触发事件的对象(元素)

当前的方法属于谁,this就是谁

var first=[];

first.a=1;

first.show=function(){

alert(1);

}

var oDate=new Date();

var oDate1=new Date();

原材料

数组

json

事件对象

var obj=new Object();  造一个空白的对象

new的问题

new Date();

new Array();

new Function();

new JSON();

new Object();

show()

普通函数

构造函数

首字母大写 主要是和普通函数做区分

构造函数也是函数,主要是因为功能起了个名字

加new有什么特点

1、他会在函数内部自动创建一个空白对象,并且把this指向对象

2、最后他会把this(对象),自动返回出去

面向对象的特点

封装

多态

继承

原型

面向对象(ES6之前真正的面向对象)

function CreateObject(name,age){

//构造函数身上加属性

this.name=name;

this.age=age;

}

//原型身上加方法

CreateObject.prototype.showName=function(){

return this.name

}

var p1=new CreateObject('小明',13);

alert(p1.showName())

例子:

1、arr.chaAt()

2、str.trim();  //去除字符串收尾空格

reg=/^\s+|\s+$/g;

3、oDate.getCnDay()  // 返回的是 ’星期一‘

原型:

1、面向对象

2、扩展系统函数

类:在js中类就是构造函数,作用就是造对象,他就像一个模子

实例:通过new这种构造函数返回的结果,也就是造出来的对象

面向对象特性:

封装(前端不用太考虑)

把一个事物的核心抽象出来

继承 ***

在ES6之前的继承,都是通过prototype来实现的

多态(前端不用太考虑)

一个孩子继承了多个亲人的特性

面向对象中的一些小细节小问题(不常用,都在面试里出现)

typeof 检测数据类型

instanceof 检测一个物体的数据类型 检测一个东西和另一个有没血缘关系

constructor 某个东西是不是通过某个构造器造出来了

可以理解为直接的父亲

题:

第一大题

alert(typeof Date)  //function

alert(typeof Function); //function

alert(Function instanceof  Object) //true

alert(Object instanceof Function)//true

alert(Function instanceof Function)//true

alert(Object instanceof Object) //true

第二道题

alert(arr instanceof Array); //true

alert(Array instanceof Function)//true

alert(arr instanceof Function) //false

第三题

Object.prototype.a=12;

var arr=[1,2,3];

//alert(arr.a)  //12

//var a=5;

//var a=new Number(5)

//alert(a.a);

//alert(a instanceof Object);

//var str='abc';

var str=new String('abc')

//alert(str.a)

alert(str instanceof Object)

简写的基本类型,Object不认,除非new出来

包装类

第四题(this)

function show(){

alert(this)

}

//show();  //window

//new show();//object

var arr=[1,2,3];

arr.show=show;

//arr.show();//1,2,3

//new arr.show();//object

document.onclick=show;//document

//new document.onclick();//object

//setTimeout(show,100);//window

//setTimeout(arr.show,100);//window

//setTimeout(document.onclick,200); //一上来是window,点击的时候是document

//setTimeout(new document.onclick,200);//一上来object,点击的时候是document

setTimeout(new arr.show,100)//object

this是有优先级:

new -> object

定时器 -> window

事件 ->  事件对象

方法 ->  当前方法的对象

其他

面向对象写法:

1、把所有的变量放到构造函数中

2、把所有的函数放到原型上

3、始终保证this在构造身上

包一层把正确的this放进去

相关文章

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • 总结.Net基础知识——献给即将入坑的同行们(一期)

    什么是面向对象 面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP; 通俗...

  • 面向对象基础

    面向对象编程包括: 面向对象的分析(OOA) 面向对象的设计(OOD) 面向对象的编程实现(OOP) 面向对象思想...

  • 20-OOP类与对象

    面向对象 Object Oriented 学习面向对象:XXOO 面向对象的学习: 面向过程和面向对象的区别: 面...

  • JavaScript面向对象核心知识归纳

    面向对象 概念 面向对象就是使用对象。面向对象开发就是使用对象开发。 面向过程就是用过程的方式进行开发。面向对象是...

  • 面向对象(未完成)

    面向对象 标签(空格分隔): 面向对象 第一章:面向对象(上) 什么叫面向对象 面向过程、面向对象、两者区别 构造...

  • 面向对象:创建对象&继承

    博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...

  • 面向对象

    了解什么是面向对象 首先,我们学习面向对象,要了解什么是面向对象,面向对象的重要概念:类,对象。 面向对象提出的这...

  • 面向对象的三大基本特征和五大设计原则

    1、面向对象概念 1.1、理解面向对象 面向对象是相对面向过程而言; 面向对象和面向过程都是一种思想; 面向过程:...

网友评论

      本文标题:【面向对象】

      本文链接:https://www.haomeiwen.com/subject/ifeiwttx.html