函数的定义
function run ( ) {
return "run" ;
}
var run2 = function ( ) {
return "run2" ;
} ;
function getInfo ( name: string , age: number ) : string {
return ` ${
name} : ${
age} ` ;
}
var run3 = function ( ) : string {
return "run2" ;
} ;
function run4 ( ) : void {
console . log ( "run4" ) ;
}
方法可选参数
function getInfo2 ( name: string , age? : number ) : string {
if ( age) {
return ` ${
name} --- ${
age} ` ;
} else {
return ` ${
name} ---年龄保密` ;
}
}
默认参数
function getInfo3 ( name: string , age: number = 20 ) : string {
if ( age) {
return ` ${
name} --- ${
age} ` ;
} else {
return ` ${
name} ---年龄保密` ;
}
}
alert ( getInfo3 ( "张三" ) ) ;
alert ( getInfo3 ( "张三" , 30 ) ) ;
剩余参数
function sum1 ( ... result: number [ ] ) : number {
var sum = 0 ;
for ( let index = 0 ; index < result. length; index++ ) {
sum += result[ index] ;
}
return sum;
}
function sum2 ( a: number , b: number , ... result: number [ ] ) : number {
var sum = a + b;
for ( var i = 0 ; i < result. length; i++ ) {
sum += result[ i] ;
}
return sum;
}
函数的重载
function getMsg ( name: string ) : string ;
function getMsg ( age: number ) : string ;
function getMsg ( str: any ) : any {
if ( typeof str == "string" ) {
return "我叫:" + str;
} else {
return "我的年龄是" + str;
}
}
function getMsg2 ( name: string ) : string ;
function getMsg2 ( name: string , age: number ) : string ;
function getMsg2 ( name: any , age? : any ) : any {
if ( age) {
return "我叫:" + name + "我的年龄是" + age;
} else {
return "我叫:" + name;
}
}
箭头函数
setTimeout ( function ( ) {
alert ( "run" ) ;
} ) ;
setTimeout ( ( ) => alert ( "run" ) ) ;