zoukankan      html  css  js  c++  java
  • TSINGSEE青犀视频用javascipt开发RTSP/GB28181/RTMP视频平台时ES6中的class与继承说明

    我们做开发的总被认为是一项枯燥的工作,但其实TSINGSEE青犀视频的研发团队每天在开发过程中都能够学到不少知识,相互交流和带动下,一方面丰富了自己的知识,另一方面也让我们开发的平台趋于完美。

    我们很多视频平台都是用js搭建的,这就要求我们要了解原型的继承,才能更好的代码优化,让代码更加简洁,实现多功能。ES6引入了class(类)这个概念,通过class关键字可以定义类该关键字的出现使得javascript在对象写法上更加清晰,更像是一种面向对象的语言。在TSINGSEE青犀视频搭建平台的过程中,这个关键字是可以说是重要的一环。

    下面来说下ES6 class继承。我们将在本文说明在javascript中class继承用到extends实现类的继承关系。

    首先实例代码如下图:

    这样就实现了简单的javascript语法继承关系,但是这个直接在浏览器是不能运行的,所以要使用Babel转换成ES5语法。

    经过Babel转换的es5语法,如下图:

    其中 _inherits函数代码如下图:

    具体的流程就是:

    (1)首下执行_inherits(Student, _Person),建立和_Person的原型链关系;
    (2)Object.setPrototypeOf(Student.prototype, _Person.prototype)‘’
    (3)Object.setPrototypeOf(Student, _Person);
    (4)然后调用_Person.call(this, name),更具_Person构造函数的返回值类型确定子构造函数的this的初始化_this;
    (5)最终,更具子构造函数_this的值,并返回该值。

    视频平台的开发永远是个大工程,尤其是技术越来越进步的今天,更加需要我们去了解更多的东西来实现我们的需求。如果大家想了解我们目前已经上线的视频平台EasyNVR、EasyCVR、EasyGBS等,欢迎联系我们。

  • 相关阅读:
    BestCoder17 1001.Chessboard(hdu 5100) 解题报告
    codeforces 485A.Factory 解题报告
    codeforces 485B Valuable Resources 解题报告
    BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告
    codeforces 374A Inna and Pink Pony 解题报告
    codeforces 483B Friends and Presents 解题报告
    BestCoder15 1002.Instruction(hdu 5083) 解题报告
    codeforces 483C.Diverse Permutation 解题报告
    codeforces 483A. Counterexample 解题报告
    NSArray中地内存管理 理解
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14174359.html
Copyright © 2011-2022 走看看