接口的作用:在面向对象编程中,接口是一种规范的定义,它定义行为和动作的规范。 在程序设计里面,接口起到一定的限制和规范作用。接口定义某一些类所遵守的规范,接口不关心这些类的内部状态数据,也不关心类里面方法的实现细节 它只规定这批类中必须提供某些方法,提供的这些方法就可以满足某些需求。 ts的接口同时增加更灵活的接口类型,包括属性,函数,可索引和类等。
1.属性类接口
// 对json的约束
// function
printLabel(label:string):void{
// console.log('printLable')
// }
// printLabel('hahah')
// 自定义方法传入参数对json进行约束
function
printLable(labelInfo:{lable:string}):void{
console.log('printLabel')
}
printLable({lable:'string'})
2.定义接口对参数进行约束
interface FullName{
firstName:string;
secondName:string
}
function
printName(name:FullName){
console.log(name.firstName+'---'+name.secondName)
}
var obj = {
firstName:'zhang',
secondName:'san'
}
printName(obj)
3.接口:可选属性
interface FullName{
firstName:string;
secondName?:string
// 添加?号之后 secondName可传可不传
}
function
getName(name:FullName){
console.log(name.firstName+'---'+name.secondName)
}
var obj = {
firstName:'zhang',
secondName:'san'
}
getName(obj)
ajax接口实践
interface Config{
type:string
url:string
data?:string
dataType:string
}
function
ajax(config:Config){
var xhr
= new XMLHttpRequest()
xhr.open(config.type,config.url,true)
xhr.send(config.data)
xhr.onreadystatechange=function(){
if(xhr.readyState==4&&xhr.status==200){
console.log('success')
}
}
}
ajax({
type:'get'
url:'www://http:baidu.com'
dataType:'json'
})