zoukankan      html  css  js  c++  java
  • JavaScript面向对象

    1:

    JavaScript中的数据类型

    number(数值类型)

    string(字符串类型)

    boolean(布尔类型)

    null(空类型)

    undefined(未定义类型)

    object(对象类型)

    2:对象是什么?

    对象是包含相关属性和方法的集合体 属性 方法

    3:什么是面向对象?

    面向对象仅仅是一个概念或者编程思想 通过一种叫做原型的方式来实现面向对象编程

    4:创建对象

    自定义对象

                     基于Object对象的方式创建对象

                      语法:var 对象名称=new Object( );

                     使用字面量赋值方式创建对象

                       eg:  var person={ name:"小明", sex:"男", age:18, hobby:"看书、看电影、健身、购物                           等",   showName:function(){ alert(this.name); } } person.showName();

    内置对象(String(字符串)对象 Date(日期)对象 Array(数组)对象 …) 

                    常见的内置对象 :String(字符串)对象 Date(日期)对象 Array(数组)对象                                       Boolean(逻辑)对象 Math(算数)对象 RegExp对象

    5:构造函数:

    创建特定类型的对象,this变量,new操作符

    6:使用构造函数创建新实例

    调用构造函数的4个步骤 :

    创建一个新对象

    将构造函数的作用域赋给新对象(this)

    执行构造函数中的代码

    返回新对象

    7:constructor属性

    constructor属性指向Person

    eg:    alert(person1.constructor==Person);

    8:instanceof操作符

    使用instanceof操作符检测对象类型

    eg:    alert(person1 instanceof Object);

    9:原型对象:

    eg:

    function Person (){ }

    Person.prototype.name="小明";

    var person1=new Person();

    10:每个函数都有一个prototype属性,它是一个指针,指向一个对象 prototype是构造函数所创建对象的原型对象

    11:原型链:

    一个原型对象是另一个原型对象的实例 相关的原型对象层层递进,就构成了实例与原型的链条,就是原型链

    调用man1.getFoot( ) 经历的三个步骤 搜索实例 搜索Man.prototype 搜索Humans.prototype

    12:对象继承:

    eg:

    function Humans(){

    this.clothing=["trousers","dress","jacket"];

    }

    function Man(){ } //继承了Humans

    Man.prototype=new Humans();

    var man1=new Man();

    man1.clothing.push("coat");

    alert(man1.clothing);

    var man2=new Man();

    alert(man2.clothing);

    13:借用构造函数

    apply:应用某一对象的一个方法,用另一个对象替换当前对象

    语法:

    apply([thisObj [,argArray]])

    call:调用一个对象的一个方法,以另一个对象替换当前对象

    语法:

    call([thisObj[,arg1[,arg2[, [,argN]]]]])

    14:组合继承

    也叫做伪经典继承 将原型链和借用构造函数的技术组合到一块,发挥二者之长的一种继承模式 使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承

  • 相关阅读:
    leetcode 之Search in Rotated Sorted Array(三)
    leetcode 之Remove Duplicates from Sorted Array(2)
    leetcode 之Remove Duplicates from Sorted Array(1)
    ImageNet Classification with Deep Convolutional Neural Network(转)
    Gradient-Based Learning Applied to Document Recognition 部分阅读
    C++面试总结
    Effective C++笔记(六):继承与面向对象设计
    Effective C++笔记(五):实现
    Effective C++笔记(四):设计与声明
    Learning a Deep Compact Image Representation for Visual Tracking
  • 原文地址:https://www.cnblogs.com/zjx-959/p/13178109.html
Copyright © 2011-2022 走看看