/*
1、vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2、第二步 任务 - 运行任务 监视tsconfig.json 2、typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean)
数字类型(number)
字符串类型(string)
数组类型(array)
元组类型(tuple)
枚举类型(enum) 任意类型(any)
null 和 undefined
void类型
never类型 3、typeScript中的函数 3.1、函数的定义
3.2、可选参数
3.3、默认参数
3.4、剩余参数
3.5、函数重载
3.6、箭头函数 es6
4、typeScript中的类 4.1 类的定义
4.2 继承
4.3 类里面的修饰符 4.4 静态属性 静态方法
4.5 抽象类 多态 */ // 静态属性 静态方法 /* function Person(){
this.run1=function(){ }
}
Person.name='哈哈哈'; Person.run2=function(){ 静态方法 }
var p=new Person(); Person.run2(); 静态方法的调用
*/ /* function $(element){ return new Base(element)
} $.get=function(){ } function Base(element){ this.element=获取dom节点; this.css=function(arr,value){ this.element.style.arr=value;
}
} $('#box').css('color','red') $.get('url',function(){ })
*/ // class Per{
// public name:string;
// public age:number=20;
// //静态属性 // static sex="男";
// constructor(name:string) {
// this.name=name;
// }
// run(){ /*实例方法*/ // alert(`${this.name}在运动`)
// }
// work(){ // alert(`${this.name}在工作`)
// }
// static print(){ /*静态方法 里面没法直接调用类里面的属性*/ // alert('print方法'+Per.sex);
// }
// } // // var p=new Per('张三'); // // p.run(); // Per.print(); // alert(Per.sex); //多态:父类定义一个方法不去实现,让继承它的子类去实现 每一个子类有不同的表现 //多态属于继承
/* class Animal { name:string;
constructor(name:string) {
this.name=name;
}
eat(){ //具体吃什么 不知道 , 具体吃什么?继承它的子类去实现 ,每一个子类的表现不一样
console.log('吃的方法')
}
} class Dog extends Animal{
constructor(name:string){
super(name)
}
eat(){ return this.name+'吃粮食'
}
} class Cat extends Animal{ constructor(name:string){
super(name)
} eat(){ return this.name+'吃老鼠'
}
} */ //typescript中的抽象类:它是提供其他类继承的基类,不能直接被实例化。 //用abstract关键字定义抽象类和抽象方法,抽象类中的抽象方法不包含具体实现并且必须在派生类中实现。 // abstract抽象方法只能放在抽象类里面 // 抽象类和抽象方法用来定义标准 。 标准:Animal 这个类要求它的子类必须包含eat方法 //标准: abstract class Animal{ public name:string;
constructor(name:string){ this.name=name; }
abstract eat():any; //抽象方法不包含具体实现并且必须在派生类中实现。 run(){ console.log('其他方法可以不实现')
}
} // var a=new Animal() /*错误的写法*/ class Dog extends Animal{ //抽象类的子类必须实现抽象类里面的抽象方法
constructor(name:any){
super(name)
}
eat(){ console.log(this.name+'吃粮食')
}
} var d=new Dog('小花花');
d.eat(); class Cat extends Animal{ //抽象类的子类必须实现抽象类里面的抽象方法
constructor(name:any){
super(name)
}
run(){ }
eat(){ console.log(this.name+'吃老鼠')
} } var c=new Cat('小花猫');
c.eat();

最新文章

  1. CSS中的rem的换算
  2. 多个DataSet数据合并
  3. Azure Redis Cache (3) 在Windows 环境下使用Redis Benchmark
  4. VMware ESXi客户端连接控制台时提示"VMRC控制台连接已断开...正在尝试重新连接"的解决方法
  5. Linux之find命令用于统计信息
  6. Yii里增删改查的操作方法
  7. 【Android】事件总线(解耦组件) EventBus 详解
  8. u3d 模型ID配置
  9. Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
  10. Ionic 小节
  11. 无法在web服务器上启动调试。打开的URL的IIS辅助进程当前没有运行。
  12. Java 中Timer和TimerTask 定时器和定时任务使用的例子
  13. 获取IMEI码
  14. ios文本常见属性
  15. hdu 4888 Redraw Beautiful Drawings 网络流
  16. Linux网络编程一站式学习
  17. 【转载】StringUtils方法介绍
  18. 标准与扩展ACL实验
  19. 智能合约语言 Solidity 教程系列9 - 错误处理
  20. windows 8.1 cmd命名提示符全屏

热门文章

  1. 手动安装python库
  2. cocos2d-x游戏开发 跑酷(三) 人物跑动
  3. Unity Shader 入门精要学习 (冯乐乐 著)
  4. git和gulp使用
  5. 【Hi3516】 uboot下烧写BSP
  6. openstack--3--控制节点安装配置keystone
  7. git push文件到远程github或者gitlab
  8. Jmeter学习—004—使用代理录制脚本—HTTP代理服务器(APP、web皆可)
  9. 应用间通信方式HTTP和RPC
  10. C# 集合、字典、栈和队列