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

    一.原型链

    function Person(n,a){
        return {
            name : n , 
            age :  a
        }
    }
    Person.prototype.abc=function(){
        console.log("儿子");
    }
    let person = new Person('张子浩',20);
    console.log(person.name);
    Person.prototype.abc();

    定义一个函数,返回这些属性,就犹如C#中对函数封装一样,我们可以对这个函数进行封装。

    二.Class类

    ES6和ES5中有非常多的不相似点,我们慢慢思考

    class DBHelper {
        constructor() {}
        getdate () {
            return new Date();
        }
    }
    // 导出内容
    // export default DBHelper = DBHelper;  // ES6 
    module.exports = DBHelper;              // ES5

    通过 module.exports 可以进行公开内容  差不多就pubic。

    在第二个class中

    // import ZZH from './lei2.js'; // ES6
    var ZZH = require('./lei2'); // ES5   require.js
    // 在 JS 中 所有的 类 都可以看成是 object 的 子类。
    class Person{
        // 构造函数
        constructor(n,a){
            this.name = n;
            this.age= a;
        } 
        abc(){
            console.log('hehe');
        }
    }

    通过constructor关键字可以写构造函数,我们还可以在类中写其他的方法.

    其中require关键字是可以引用别的lei  差不多就是new关键字   路径可以是绝对路径和相对路径,我们就可以去调用ZZH中的函数了

     三.类的继承

    // 类的继承
    class Student extends Person{
    
    }
    let person = new Person('张子浩',20);
    console.log(person.name);

    let stu = new Student('张建晗',20);
    console.log(stu.name);
     
    console.log(typeof (person)); // object
    console.log(typeof (stu)); // object
     
    // 获取对象的 构造函数
    console.log(person.constructor);
    console.log(stu.constructor);
     

    类的继承可以通过extends关键字,值得思考的是两者的类型都是object,获取对象的构造函数可以通过constructor

  • 相关阅读:
    declaration may not appear after executable statement in block
    linux 管道通信
    用c语言创建双向环形链表
    bash: ./LM35_make_fs: Permission denied 解决办法
    sunzl is not in the sudoers file.This incident will be reported
    基于嵌入式linux路由转发功能的实现
    关于eth0 eth0:1 和eth0.1关系介绍
    软重启
    Android中Serializable和Parcelable序列化对象详解
    公共技术点(Android 动画基础)
  • 原文地址:https://www.cnblogs.com/ZaraNet/p/9798291.html
Copyright © 2011-2022 走看看