添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

方法是一样的,如果放在构造函数内部,那不是很浪费,放在函数原型上就很香了,节省内存
在这里插入图片描述

类创建对象(封装看着更有整体性)

解决了构造函数共享的方法需要加到原型上,不优雅。
constructor其实最终编译的时候,还是会编译为构造函数的形式。
在这里插入图片描述
成员变量:定义在类中
构造函数:做初始化
成员方法:定义在类中

class City {
    // 成员变量:定义在类中(需要赋个值,要不会报语法错误,也可以是在构造函数中赋值)
    cname:string = 'p城';
    clevel: number = 2;
    cname1:string;
    clevel1: number;
    // 构造函数:做初始化
    constructor(cName: string,cLevel: number) {
        this.cname1 = cName;
        this.clevel1 = cLevel;
    // 成员方法:定义在类中
    about() {
        console.log(`兄弟,跳${this.cname1},危险系数为${this.clevel1}`)
let c1 = new City('皮卡多',9)
console.log(c1.cname,c1.cname1) //p城      皮卡多
c1.about()  // 兄弟,跳皮卡多,危险系数为9级
                                    ts-class-initializable
 一个小助手,用于从纯对象启用实例属性的初始化。
 扩展一个Initializable,您的构造函数将接受一个普通对象文字作为其第一个参数,并将这些值分配给实例属性。
class Foo extends Initializable < Foo> {
  public bar : string ;
  public baz : number ;
  public optional ?: boolean ;
const instance : Foo = new Foo ( {
  bar : 'foobar' ,
  baz : 2 ,
} ) ;
console . log ( instance . bar ) ; // 'foobar'
有几种口味:
 Initializable :构造函数需要一个普通对象来初始化实例
在函数调用时,arguments和this会被静默的传递给函数,并可以在函数体内引用它们,借以访问函数相关的一些信息。
其arguments是一个数组结构,它保存了调用时传递给函数的所有实参;this是函数执行时的上下文对象, 这个对象有些让人感到困惑的行为。 下面分别对他们进行讨论。
1. arguments
1.1 背景
JavaScript 允许函数在调用时传入的实参个数和函数定义时的形参个数不一致, 比如函数在定义时声明了 n 个参数, 在调用函数时不一定非要传入 n 个参数,例如:
// 1. 定义有一个形参的函数fn()
function fn(arg){}
用于TypeScript应用程序的反射型模型。 有两种主要模型:
 原始模型,它是可序列化的格式(考虑使用从TypeScript包或项目生成此格式)。 对型的引用存储为{moduleName:string,name:string}对象。
 完全解析的模型,其所有引用都替换为该型的实际实例。 这是最有用的模型。
 该库模块的高级概览:
 rawConverter:将原始模型转换为解析模型。
 模型:包含原始模型和解析模型的型元模型
factory:由rawConverter使用。 包含用于创建解析的模型元素的代码
equals:包含用于解析模型的相等函数
typeCloser:具有型参数的元素(,接口等)被视为构造函数。 要创建实际型,请使用带有参数的typeCloser作为参数
typeUtils:一些有用的处理型的函数
一、基本概念
  关于ts的封包,ts的封装格式要比flv更复杂,主要的数据单元是ts包,每个包有pid,一个包固定大小普通没有crc的为188,主要分为三ts包,pat,pmt,pes,pat就是第一个包,当解析的时候会在ts包列表里找pid为0x0的包,就是pat包,pat大概作用就...
                                    匿名函数return a+b}let aa =makeMoney("你好","世界")有名函数|命名函数|普通函数}console.log(`我今天写代码${res1}小时`);箭头函数console.log(`我每天看${time}小l时meimei`);}​const seeMeimei1=(time:number ) :void=>console.log(`我每天看${time}小时meimei` );​//接口​​2函数参数的处理。
function updateTodo(todo: Todo, fieldsToUpdate: Partial<Todo>) {
  return { ...todo, ...fieldsToUpdate };
const todo1 = {
  title: "organize desk",
  description: "clear clutte
                                    如题,本篇介绍下ts 、对象 、静态方法 、继承、成员返回修饰符等。
ts继承似于传统面向对象编程语言的继承体系 ,使用extends关键字继承,this表示此当前对象本身,super表父对象。子构造函数第一行代码调用父构造函数完成初始化,然后再进行子的进一步初始化。子可以访问父(public、protected)的成员属性、方法。
02_class.ts ...
                                    TS即是"Transport Stream"的缩写。他是分包发送的,每一个包长为188字节。在TS流里可以填入很多型的数据,如视频、音频、自定义信息等。他的包的结构为,包头为4个字节,负载为184个字节(这184个字节不一定都是有效数据,有一些可能为填充数据)。工作形式: 因为在TS流里可以填入很多种东西,所以有必要有一种机制来确定怎么来标识这些数据。制定TS流标准的机构就规定了一些数据结构
                                    一、什么是构造方法?
    构造方法是一个方法名和名一致、没有返回值的方法。一个没有写构造方法,其默认为无参数的构造方法。
在创建对象后,自动调用该方法。如果一个写了有参数的构造方法,默认无参数的构造方法将不存在,一个可以有多个构造方法,
但是创建对象只能使用一个构造方法,具体看创建对象的参数而定。创建对象时,自动调用一个构造方法,因此可以将常用的属性放入构造方法定义。