函数就是特殊的对象,能被调用的对象就是函数
TS包含了JS所有内容
声明
function add(a:number, b:number = 1):number|string {
'use strict'
console.log(this)
console.log(arguments)
return a + b
}
调用函数
add.call(undefined, 1, 2)
实际如下
function add(a: number,b: number):number {
// let a = arguments[0]
// let b = arguments[1]
// a b 是形式参数,实际上在声明变量并赋值
return a+ b;
}
arguments = {
0:1,
1:2,
length:2
}
重要的话
this 就是 call 的第一个参数
fn(1,2)
等价于
fn.call(undefined, 1,2)
obj.fn(1,2)
等价于
obj.fn.call(obj, 1, 2)
// 声明一个匿名函数 xx存的是这个匿名函数的地址
let xx = function (name: string,age = 18) {
console.log('hello')
}
// 声明箭头函数,并把地址赋值给xxx
let xxx = (name: string,age = 18)=>{
console.log('hello world')
}
网友评论