当前位置: 首页 > news >正文

新手如何入侵一个网站手机做推广比较好的网站

新手如何入侵一个网站,手机做推广比较好的网站,个人网站快速备案,淘宝网官方网站类接口 TypeScript 入门教程 (xcatliu.com) 十四.类 ① 类 类#xff1a;定义了一件事物的抽象特点#xff0c;包含它的属性和方法对象#xff1a;类的实例#xff0c;通过new生成面向对象#xff08;OOP#xff09;的三大特性#xff1a;封装、继承、多态封装… 类接口 · TypeScript 入门教程 (xcatliu.com) 十四.类 ① 类 类定义了一件事物的抽象特点包含它的属性和方法对象类的实例通过new生成面向对象OOP的三大特性封装、继承、多态封装Encapsulation将对数据的操作细节隐藏起来只暴露对外的接口。外界调用端不需要也不可能知道细节就能通过对外提供的接口来访问该对象同时也保证了外界无法任意更改对象内部的数据继承Inheritance子类继承父类子类除了拥有父类的所有特性外还有一些更具体的特性多态Polymorphism由继承而产生了相关的不同的类对同一个方法可以有不同的响应。比如 Cat 和 Dog 都继承自 Animal但是分别实现了自己的 eat 方法。此时针对某一个实例我们无需了解它是 Cat 还是 Dog就可以直接调用 eat 方法程序会自动判断出来应该如何执行 eat存取器getter setter用以改变属性的读取和赋值行为修饰符Modifiers修饰符是一些关键字用于限定成员或类型的性质。比如 public 表示公有属性或方法抽象类Abstract Class抽象类是供其他类继承的基类抽象类不允许被实例化。抽象类中的抽象方法必须在子类中被实现接口Interfaces不同类之间公有的属性或方法可以抽象成一个接口。接口可以被类实现implements。一个类只能继承自另一个类但是可以实现多个接口 TypeScript中类的用法 public修饰的属性或方法是公有的可以在任何地方被访问到默认所有的属性和方法都是 public 的private修饰的属性或方法是私有的不能在声明它的类的外部访问protected  修饰的属性或方法是受保护的它和 private 类似区别是它在子类中也是允许被访问的 class Animal {public name;public constructor(name) {this.name name;} }let a new Animal(Jack); console.log(a.name); // Jack a.name Tom; console.log(a.name); // Tom 使用private修饰的属性或者方法在子类中也是不允许访问的 protected 修饰的允许在子类中访问 class Animal {protected namepublic constructor(name: string) {this.name name} }class Cat extends Animal {constructor(name: string) {super(name)console.log(this.name)} } 构造函数修饰为 private 时该类不允许被继承或者实例化 当构造函数修饰为  protected 时该类只允许被继承 参数属性 修饰符和readonly还可以使用在构造函数参数中等同于类中定义该属性同时给该属性赋值使代码更简洁 class Animal {// public name: string;public constructor(public name) {// this.name name;} } readonly : 只读属性关键字只允许出现在属性声明或索引签名或构造函数中 如果 readonly 和其他访问修饰符同时存在的话需要写在其后面 class Animal {// public readonly name;public constructor(public readonly name) {// this.name name;} } 抽象类 abstract 用于定义抽象类和其中的抽象方法 1抽象类是不允许被实例化的 2 抽象类中的抽象方法必须被子类实现 abstract class Animal {public namepublic constructor(name: string) {this.name name}public abstract sayHi(): any }class Cat extends Animal {public eat() {console.log(${this.name} is eating.)}public sayHi(): any {console.log(Meow, My name is ${this.name})} }let cat new Cat(Tom) 十五.类与接口 ① 接口可以对类的一部分行为进行描述 ② 类实现接口 不同的类之间可以有一些共有的特性就可以将这些特性提取为接口使用 implements 关键字来实现提高面对对象的灵活性 举例 门是一个类防盗门是门的子类如果防盗门有一个报警器的功能可以给防盗门添加一个报警方法如果有另一个类车也有报警器的功能就可以考虑把报警器提取出来作为一个接口防盗门和门都去实现它 interface Alarm {alert(): void }class Door {}class SecurityDoor extends Door implements Alarm {alert() {console.log(SecurityDoor alert)} }class Car implements Alarm {alert() {console.log(Car alert)} } 一个类可以实现多个接口 ③ 接口继承接口 接口与接口之间可以是继承关系除了拥有alert方法以外还拥有两个新方法 lightOn 和 lightOff interface Alarm {alert(): void }interface LightableAlarm extends Alarm {lightOn(): voidlightOff(): void } ④ 接口继承类 接口继承类的时候只会继承它的实例属性和实例方法 十六.泛型 ① 泛型的概念 泛型定义函数接口或类的时候不预先指定具体的类型而是在指定的时候再指定类型的一种特性在函数名后面添加了T, 其中T用来指代任意输入的类型在后面的输入valueT 和输出 ArrayT 中就可以使用了 function createArrayT(length: number, value: T): ArrayT {let result: T[] []for (let i 0; i length; i) {result[i] value}return result }console.log(createArraystring(3, x)) 可以定义多个类型参数 function swapT, U(tuple: [T, U]): [U, T] {return [tuple[1], tuple[0]] }console.log(swap([7, seven])) ② 泛型的约束 在函数内部使用泛型变量的时候由于事先不知道它是哪种类型所以不能随意的操作它的属性或者方法 可以对泛型进行约束只允许这个函数传入那些包含length属性的变量这就是泛型约束 多个类型参数之间可以互相约束 ③ 泛型接口 interface CreateArrayFunc {T(length: number, value: T): ArrayT }let createArr: CreateArrayFunc createArr function T(length: number, value: T): ArrayT {let result: T[] []for (let i 0; i length; i) {result[i] value}return result }console.log(createArr(3, x)) 可以把泛型接口提前到接口名上 ④ 泛型类: 泛型可以用于类的类型定义中 class GenericNumberT {zeroValue: Tadd: (x: T, y: T) T }let myGenericNumber new GenericNumbernumber() myGenericNumber.zeroValue 0 myGenericNumber.add function (x, y) {return x y } ⑤ 泛型参数的默认类型 TypeScript 2.3 之后就可以为泛型中的类型参数指定默认类型当使用泛型时没有在代码中直接指定类型参数从实际值参数中也无法推测出时这个默认类型就会起作用 十七.声明合并 如果定义了两个相同名字的函数接口或类他们会合并成一个类型 ① 函数的合并(重载) function reverse(x: number): number; function reverse(x: string): string; function reverse(x: number | string): number | string {if (typeof x number) {return Number(x.toString().split().reverse().join());} else if (typeof x string) {return x.split().reverse().join();} } ② 接口的合并 合并的属性的类型必须是唯一的 ③ 类的合并 类的合并与接口的合并规则一致 十八.编译选项 ① allowJs  允许编译js文件 一般在项目js, ts混合开发中需要设置设置为true时js文件会被tsc编译否则不会设置为true的时候编译后的文件包含foo.js设置为false的时候编译后的文件不包含foo.js ② allowSyntheticDefaultImports  允许对不包含默认导出的模块使用默认导入。这个选项不会影响生成的代码只会影响类型检查 在ts中如果要引入一个export foo 导出的模块标准语法是  import foo require(foo)   或者 import * as foo from foo但是已经习惯使用 import foo from foo 所以使用了这个设置项如果设置为true, 就允许使用 import foo from foo 来导入一个通过  export foo 导出的模块当它设置为false时则不允许会报错
http://www.hkea.cn/news/14304195/

相关文章:

  • 有哪些做PPT背景网站厦门营销型网站建设公司
  • 设计网站100个免费百度云盘网站开发
  • 定州市住房和建设局网站莱芜规划
  • 云主机建网站软件北京网站制作团队
  • 做门头上那个网站申报wordpress调用文章标签
  • 做彩票网站12306网站谁做的
  • php能自己做网站吗网站底部备案字体设置
  • 网页设计制作手机网站便宜的做网站公司
  • 做企业网站怎么接活网站项目设计与制作
  • 吉林市建设厅网站互联网营销专家
  • 厦门怎么没有 网站备案wordpress 关闭warning
  • 广州番禺区地图高清版大图seo外包 杭州
  • 网站颜色搭配实例网页版微信登录显示二维码已失效
  • 网站怎么做才能将名声打响珠宝网站建设公司
  • 注册网站有什么用网站推广 软件
  • 顺义做网站的厂家杭州网站建设响应式
  • 鲜花团购网站建设广州汽车网络推广服务
  • 购物网站后台模板网站推广策划案
  • 网站备案号 查询在手机上怎么制作网站
  • 苏州大型网站建设公司解决wordpress后台加载非常缓慢
  • 湖北省建设厅网站怎么打不开广州建站快车
  • 建设网站书陕西网站建设品牌公司推荐
  • 免费网站建设排行榜wordpress的文章置顶有什么用
  • 太原网站制作小程序郑州制作网站推荐
  • 用什么软件上传网站网站开发的四个高级阶段包括
  • 湖北聚四方建设有限公司网站谁给个能用的网址
  • 做普通网站公司wordpress 漏洞 修复
  • 网站商城建设的维度免费电子版个人简历可编辑
  • 微信企业网站 源码下载wordpress插件数据存放
  • 企业网站制作费做分录贵州省冶金建设有限公司网站