typescript属性类型接口
/* 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属性类型接口的更多相关文章
- typescript接口的概念 以及属性类型接口
/* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2.第二步 任务 ...
- TypeScript 高级类型 接口(interface)
在代码的实现或者调用上能设定一定的限制和规范,就像契约一样.通常,我们把这种契约称为接口. TypeScript的核心原则之一是对值所具有的结构进行类型检查. 有时称为“鸭式辨型法”或“结构性子类型化 ...
- typescript函数类型接口
/* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据, ...
- Typescript基础(4)——接口
前言 今天继续typescript的学习,开始ts接口部分的学习. 接口 接口的理解 首先,我们谈论一下现实生活中的接口.比如生活中常用的插座接口,有些插头是三孔插座的,有些是两孔插座的.插座接口规定 ...
- Typescript中的可索引接口 类类型接口
/* 5.typeScript中的接口 可索引接口 类类型接口 */ /* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用 ...
- typescript可索引接口 类类型接口
/* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据, ...
- TypeScript Handbook 2——接口1(翻译)
接口(Interfaces) One of TypeScript's core principles is that type-checking focuses on the 'shape' that ...
- TypeScript:基本类型和接口
返回TypeScript手册总目录 基本类型(Basic Types) 为了让程序可以使用,我们需要用到一些最简单的数据单元:数字,字符串,结构,布尔值,诸如此类.在TypeScript中,支持许多正 ...
- typescript中的接口
说到接口:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心 ...
随机推荐
- vue 关于props 父组件传值
swiper.vue 子组件 info.vue 父组件 swiper.vue<template> <div class="swiper-wrap" @mouse ...
- IDEA使用入门设置(从入门到放弃)
激活 1:设置JDK路径 2:设置maven环境 3:设置tomcat 4:设置快捷键与eclipse相同 4.1:设置字体大小 5:创建maven java 工程并进行编译打包等操作 6:创建 ...
- IPV4地址耗尽,了解IPV6。
北京时间 2019 年 11 月 26 日下午,负责互联网资源分配的最后一个信息中心——欧洲网络信息中心(RIPE NCC)宣布耗尽了最后一个 IPv4 地址区块,至此,全球所有 43 亿个 IPv4 ...
- 关于equals和hashcode问题
默认情况下也就是从超类Object继承而来的equals方法与‘==’是完全等价的,比较的都是对象的内存地址,但我们可以重写equals方法,使其按照我们的需求的方式进行比较,如String类重写了e ...
- git如何统计代码行数
1.根据用户名时间段统计 git log --author="username" --since=2018-01-01 --until=2019-12-31 --pretty=tf ...
- Linux Vbox 桥接模式上网配置
1.Bridged Adapter模式(桥接模式)特点: 1)如果主机可以上网,虚拟机可以上网 2)虚拟机之间可以ping通 3)虚拟机可以ping通主机 4)主机可以ping通虚拟机以上各点基于一个 ...
- UVA 11468 Substring (记忆化搜索 + AC自动鸡)
传送门 题意: 给你K个模式串, 然后,再给你 n 个字符, 和它们出现的概率 p[ i ], 模式串肯定由给定的字符组成. 且所有字符,要么是数字,要么是大小写字母. 问你生成一个长度为L的串,不包 ...
- vue vue-cli中引入全局less变量的方式
我们经常用less定义一些全局变量,比如主题的颜色,为了避免在每个组件中引用我首先尝试放在main.js中,发现并不起作用... 先看vue-cli2.x 版本如何解决 1.安装; npm insta ...
- Processing玩抠图
突然兴起想玩一下抠图,试着用自带的Example\video来改,花了一个中午做了个小样: 分别是白色为底与黑色为底的效果,代码如下: import processing.video.*; int n ...
- 模板 - 图论 - 强连通分量 - Kosaraju算法
这个算法是自己实现的Kosaraju算法,附带一个缩点,其实缩点这个跟Kosaraju算法没有什么关系,应该其他的强连通分量算法计算出每个点所属的强连通分量之后也可以这样缩点. 算法复杂度: Kosa ...