zoukankan      html  css  js  c++  java
  • 面向对象知识点整理

    JavaScript面向对象编程基础知识整理1

    前言

    面向对象编程是一种主流的变成模式,它将真实世界里的各种复杂关系,抽象为一个个的对象,然后由对象之间的分工与合作,完成对真实世界的模拟。
    每一个对象都是功能中心,具有明确分工。可以完成接受信息处理,处理数据发出信息等任务。对象可以复用,通过继承机制还可以被定制。因此,面向对象编程有灵活,代码可服用,高度模块化等特点,容易维护和开发,比由一系列函数或指令组成的传统过程是变成
    (1)对象是单个实物的抽象。
    一本书,一辆汽车,一个人都是对象,一个数据库,一张网页,一个与远程五福器的链接也可以是对象,当时实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟显示情况,正对对象进行变成。
    (2)对象是一个容器,封装了属性和方法。

    构建函数创建对象

    构建函数本身是一个比较抽象的一个概念,可以说是一种开发的思维方式,比如我们要把现实生活当中的实物抽象成对象,我么你一般情况下需要一个模板,这个模板当中具备这类实物的共有特性,然后我们就可以通过这个模板来实现该类对象的创建。
    js中 我们可以通过构建函数的方式来创建该类模板。

    构建函数就是通过new关键字创建对象时调用的函数,与普通唯一的区别就是构造函数名应该寿子模大写。

    function Person(){
        this.age = 30;
    }
    var person1 = new Person();
    console.log(person1.age);//30
    

    更具需要,构建函数也可以就收一个参数。

    function Person(age){
        this.age = age;
    }
    var person1 = new Person(30);
    console.log(person1.age);//30
    

    如果没有参数,可以省略括号

    function Person(){
        this.age = 30;
    }
    //等价于var person1 = new Person()
    var person1 = new Person;
    console.log(person1.age);//30  
    
    

    如果忘记使用new操作符,则this将代表全局对象window。通常这种情况下会发生很多报错。
    demo:

    function Person(){
        this.age = 30;
    }
    var person1 = Person();
    //Uncaught TypeError: Cannot read property 'age' of undefined
    console.log(person1.age);
    

    instanceof

    instance of用于判断对象的类型以及当前对象是否通过指定函数构建而成。

    function Person(){
        //
    }
    var person1 = new Person;
    console.log(person1 instanceof Person);//true
    

    constructor

    每个对象在创建时都自动拥有一个构建函数的属性constructor,这个属性包含了一个指向其构造函数的应用。而这个constructor属性实际上继承自原型对象,而constructor也是原型对象唯一的自有属性

    function Person(){
        //
    }
    var person1 = new Person;
    console.log(person1.constructor === Person);//true    
    console.log(person1.__proto__.constructor === Person);//true
    
  • 相关阅读:
    PHP输出语法:echo、var_dump、print、print_r区别对比
    深浅拷贝
    deepin
    linux 扩容磁盘空间
    tcpdump抓包与tcp握手
    linux 搭建FTP
    ubuntu基本配置
    linux 安装kmv创建虚拟机后网络配置
    selenium + pyautogui 实现淘宝自动登录
    pycharm 加载不出来已安装的selenium包或者其他已安装的package
  • 原文地址:https://www.cnblogs.com/wangjiahui/p/10901950.html
Copyright © 2011-2022 走看看