函数
// 普通函数
function run():string
// 匿名函数
var run = function():number
// void 函数
function fun():void {
alert('this is ts')
}
// 函数传值
function run(name:string,age:number) {
console.log(name,age) // 李四 20
}
run('李四',20) // 备注:name和age为比传,参数数量为2
// 可选参数
function run(name:string,age?:number) {
console.log(name,age) // 李四 undefiend
}
run('李四') //备注:参数后问好代表该参数可传可不传,不传的情况下打印为 undefiend
// 默认参数
function run(name:string,age:number = 20) {
console.log(name,age) // 李四 20
}
run('李四') // 备注:参数age默认值20,如果不传递采用默认值的属性
构造函数和继承
ES5
// 构造函数
function Person (name,age){
this.name = name;
this.age = age;
run() {
console.log(this.name)
}
}
var p = new Person('zhangsan',20)
//继承
function web (name,age){
Person.call(this,name,age) // 实例继承
}
web.prototype = Person.prototype // 原型链继承
web 继承 Person属性和方法
var w = new web('zhangsan',20)
w.run() // zhangsan
TS类的定义和继承
// 类的定义
class Person {
name:string;
constructor(name:string) { // 构造函数,实例化类的时候出发的方法
this.name = name
}
}
var p = new Person('王五')
p.name // 王五
// ts继承 extends super
class web extends Person {
// web继承Person类的属性
constructor(name:string) {
super(name)
}
}
var w = new web('李四')
w.name // 李四