/*

typeScript中的接口   - 1.属性类接口

*/

/*
接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要。 typescrip中的接口类似于java,同时还增加了更灵活的接口类型,包括属性、函数、可索引和类等。 定义标准。 */ // 1、属性接口 对json的约束 //ts中定义方法
/*
function printLabel():void {
console.log('printLabel');
}
printLabel();
*/ /*
ts中定义方法传入参数 function printLabel(label:string):void {
console.log('printLabel');
} printLabel('hahah'); */ /*
ts中自定义方法传入参数,对json进行约束 */ /* function printLabel(labelInfo:{label:string}):void {
console.log('printLabel');
} printLabel('hahah'); //错误写法 printLabel({name:'张三'}); //错误的写法 printLabel({label:'张三'}); //正确的写法
*/ //对批量方法传入参数进行约束。 //接口:行为和动作的规范,对批量方法进行约束 //就是传入对象的约束 属性接口
// interface FullName{ // firstName:string; //注意;结束
// secondName:string; // } // function printName(name:FullName){ // // 必须传入对象 firstName secondName
// console.log(name.firstName+'--'+name.secondName);
// }
// // printName('1213'); //错误 // var obj={ /*传入的参数必须包含 firstName secondName*/
// age:20,
// firstName:'张',
// secondName:'三'
// };
// printName(obj) // 接口:行为和动作的规范,对批量方法进行约束 // interface FullName{
// firstName:string; //注意;结束
// secondName:string;
// } // function printName(name:FullName){
// // 必须传入对象 firstName secondName
// console.log(name.firstName+'--'+name.secondName);
// } // function printInfo(info:FullName){ // // 必须传入对象 firstName secondName
// console.log(info.firstName+info.secondName);
// } // var obj={ /*传入的参数必须包含 firstName secondName*/
// age:20,
// firstName:'张',
// secondName:'三'
// };
// printName(obj); // printInfo({
// firstName:'李',
// secondName:'四'
// }) //接口 :可选属性 // interface FullName{ // firstName:string;
// secondName:string;
// } // function getName(name:FullName){ // console.log(name)
// }
// //参数的顺序可以不一样
// getName({
// secondName:'secondName',
// firstName:'firstName'
// }) // interface FullName{
// firstName:string;
// secondName?:string;
// } // function getName(name:FullName){ // console.log(name)
// }
// getName({
// firstName:'firstName'
// }) /*
$.ajax({
type: "GET",
url: "test.json",
data: {username:$("#username").val(), content:$("#content").val()},
dataType: "json"
}); */ interface Config{
type:string;
url:string;
data?:string;
dataType:string;
} //原生js封装的ajax
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('chengong'); if(config.dataType=='json'){ console.log(JSON.parse(xhr.responseText));
}else{
console.log(xhr.responseText) } }
}
} ajax({
type:'get',
data:'name=zhangsan',
url:'http://a.loaderman.com/api/productlist', //api
dataType:'json'
})

typescript属性类型接口的更多相关文章

  1. typescript接口的概念 以及属性类型接口

    /* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2.第二步 任务 ...

  2. TypeScript 高级类型 接口(interface)

    在代码的实现或者调用上能设定一定的限制和规范,就像契约一样.通常,我们把这种契约称为接口. TypeScript的核心原则之一是对值所具有的结构进行类型检查. 有时称为“鸭式辨型法”或“结构性子类型化 ...

  3. typescript函数类型接口

    /* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据, ...

  4. Typescript基础(4)——接口

    前言 今天继续typescript的学习,开始ts接口部分的学习. 接口 接口的理解 首先,我们谈论一下现实生活中的接口.比如生活中常用的插座接口,有些插头是三孔插座的,有些是两孔插座的.插座接口规定 ...

  5. Typescript中的可索引接口 类类型接口

    /* 5.typeScript中的接口 可索引接口 类类型接口 */ /* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用 ...

  6. typescript可索引接口 类类型接口

    /* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据, ...

  7. TypeScript Handbook 2——接口1(翻译)

    接口(Interfaces) One of TypeScript's core principles is that type-checking focuses on the 'shape' that ...

  8. TypeScript:基本类型和接口

    返回TypeScript手册总目录 基本类型(Basic Types) 为了让程序可以使用,我们需要用到一些最简单的数据单元:数字,字符串,结构,布尔值,诸如此类.在TypeScript中,支持许多正 ...

  9. typescript中的接口

    说到接口:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心 ...

随机推荐

  1. pip---cannot import name main解决方案

    .先来看下Python不同版本对应的路径 which python3. which python3. .使用update-alternatives --install建立链接 sudo update- ...

  2. java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.Integer

    mybatis配置的jdbaType类型要是大写的,否则就会出现此种异常 原因是在xml中配置的 jdbcType中有小写字母

  3. 《代码敲不队》第九次团队作业:Beta冲刺与验收准备

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 (1)掌握软件测试基础技术(2)学习迭代式增量软件开发过程(Scrum) ...

  4. oracle数据库锁表

    在团队开发一个项目的时候,避免不了两个或两个以上的人同时操作某一数据库中的同一张表,这时候,如果一个用户没有提交事务,或者忘记提交事务,那么其他用户就不能对这张表进行操作了,这是很烦人的事情,下面是查 ...

  5. vue-cli搭建项目的坑

    使用vue-cli生成的项目默认没有 --open,所以npm run dev运行项目后,不会自动打开浏览器, 需要手动添加--open,反之,如果不需要自动打开浏览器,删除就好了

  6. 域渗透:LSA Protection

    简介:微软在 2014 年 3 月 12 日添加了 LSA 保护策略,用来防止对进程 lsass.exe 的代码注入,这样一来就无法使用 mimikatz 对 lsass.exe 进行注入,相关操作也 ...

  7. 2019-2020-1 20199302《Linux内核原理与分析》第六周作业

    一 .万能函数 1.过程抽象 (1)接口:指明模块要做什么,标识符/类型.函数等,.h ,函数调用者 (2)实现:指明模块如何完成接口,一个接口多个实现(可能),.c ,函数实现者 (3)函数签名:函 ...

  8. 【转】根据Quartz-Cron表达式获取最近几次执行时间

    public static List<String> getRecentTriggerTime(String cron) { List<String> list = new A ...

  9. Node.js 自学之旅(初稿篇)

    学习基础,JQuery 原生JS有一定基础,有自己一定技术认知(ps:原型链依然迷糊中.闭包6不起来!哎!) 当然最好有语言基础,C#,java,PHP等等.. 最初学习这个东西的原因很简单,在园子里 ...

  10. Firefox修復QQ快速登錄

    中了一次毒,然後火狐裏面就不能用QQ的快捷登錄了,後找到修復方法: 將QQ的四個文件放入火狐的插件文件夾裏面即可. 1.QQ文件目錄: C:\Program Files (x86)\Tencent\Q ...