TypeScript入门知识四(表达式和循环)
一,箭头表达式
用来声明匿名函数,消除传统匿名函数的this指针问题
//单行的话可以省略{},多行的不能省。
var sum = (arg1,arg2)=> arg1+arg2;
//定义一个午餐函数
var doSomething = () =>{
console.log("hahahha");
}
//返回偶数
var array = [1,2,3,4]
console.log(array.filter(value => value % 2 == 0));
//,消除传统匿名函数的this指针问题
JavaScript函数
function getStock(name: string) {
this.name = name;
setInterval(function () {
console.log("name is "+this.name);
},2000);
}
var stock =new getStock("IBM");
输出结果:
name is
//改用TypeScript
function getStock(name: string) {
this.name = name;
setInterval(()=>{
console.log("name is " +this.name);
},1000);
}
var stock =new getStock("IBM");
输出结果:
name is IBM
二,循环forEach(),for in 和for of
1.forEach(),只会打印集合中的值,不会打印数组的属性值。不能用break,跳出这个循环。
var myArray = [1, 2, 3];
myArray.dsc = "hahahhahha";//TypeScript不支持这种写法
myArray.forEach(value => console.log(value));
输出结果:
1
2
3
2.for in ,原理是循环键值对。
var myArray = [1, 2, 3];
myArray.dsc = "hahahhahha";//TypeScript不支持这种写法
for (var n in myArray) {
console.log(n);
}
输出结果:
0
1
2
dsc
如果你想打印对应的值,可以这样写
var myArray = [1, 2, 3];
myArray.dsc = "数组描述";//TypeScript不支持这种写法
for (var n in myArray) {
console.log(myArray[n]);
}
输出结果:
1
2
3
数组描述
3.for of跟forEach()区别在于可以break,跳出这个循环。循环的是值而不是键。
var myArray = [1, 2, 3];
for (var n of myArray) {
console.log(n);
}
输出结果:
1
2
3
TypeScript入门知识四(表达式和循环)的更多相关文章
- TypeScript入门知识一(字符串特性)
一,TypeScript多行字符串 传统JavaScript字符串换行需要+进行拼接,而TypeScript不需要+拼接.看下面实例: javaScript: var content = " ...
- TypeScript入门知识三(函数新特性)
一,Rest and Spread操作符: 用来声明任意数量的方法参数也就是"..."操作符 输出结果: 18 jajj 89 function test (a, b, c) { ...
- TypeScript入门知识二(参数新特性)
一,参数类型 1.在参数的名称后面使用冒号来指定参数的类型,当赋值的不是指定类型数值时会报错. var myname: string = "zhang san"; 2.当你没有指定 ...
- TypeScript入门知识五(面向对象特性一)
1.类(class) 类是TypeScript的核心,使用TypeScript开发时,大部分代码都是写在类里面的. 类的定义 ,属性控制符 public(允许外部访问,也是默认的方式),private ...
- TypeScript入门知识五(面向对象特性二)
1.泛型(generic) 参数化的类型,一般用来限制集合的内容 class Person { constructor(private name: string) { } work() { }}var ...
- typeScript入门(四)泛型
泛型:软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性. 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能. 在像C#和Ja ...
- typescript 入门教程四
ts中的function和接口 interface PrintCallback{ // 匿名函數,返回类型为空 (success:boolean):void } interface Person{ / ...
- TypeScript 学习二 表达式和循环
表达式: 1,箭头表达式:将function用箭头代替,参数相应进行处理: 用来声明匿名函数,消除了传统匿名函数的this指针问题: 1) 例:简单的方法体为单行的方法,此时不需要大括号和return ...
- Python基础入门知识
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
随机推荐
- NDK开发,如何配置 debug环境
刚开始做NDK 开发的时候,Android Studio 还没提供了 native C/C++ 设置断点 调试,我们都是通过输出 日志来调试,这样费时耗力.Android Studio 应该是在 2. ...
- 【学习笔记】Hibernate 注解 (Y2-1-9)
Hibernate注解 1.什么是注解在类上或者方法上打上其他类型的类型元数据 @标志 使用过的注解: @override 方法重写 @Test Junit 单元测试 @Before 单元测试 @A ...
- 利用FileReader实现上传图片前本地预览
引子 平时做图片上传预览时如果没有特殊的要求就直接先把图片传到后台去,成功之后拿到URL再渲染到页面上,这样做在图片比较小的时候没什么问题,大一点的话就会比较慢才能看到预览了,而且还产生了垃圾文件,所 ...
- Nginx拦截算法
Nginx流量拦截算法 nginx 夏日小草 2015年10月22日发布 | 1 收藏 | 40 4.2k 次浏览 0x00.About 电商平台营销时候,经常会碰到的大流量问题,除了做流量分 ...
- QWebSocketServer
QWebSocketServer 服务端 Public Types Public Function QWebSocketServer(const QString &serverName, Ss ...
- Qt 如何使用 lambda 表达式连接信号和槽?
connect(camera, static_cast<void(QCamera::*)(QCamera::LockStatus, QCamera::LockChangeReason)>( ...
- 历届试题 剪格子 IDA*
思路:限制当前能剪下的最大格子数,保证能得到最少数目.IDA*的典型运用. AC代码 #include <cstdio> #include <cmath> #include & ...
- HDU - 2112 HDU Today Dijkstra
注意: 1.去重边 2.终点和起点一样,应当输出0 3.是无向图 AC代码 #include <cstdio> #include <cmath> #include <al ...
- HDU - 3533 bfs [kuangbin带你飞]专题二
看了好久的样例才看懂. 题意:有一个人要从(0,0)走到(n,m),图中有k个碉堡,每个碉堡可以向某个固定的方向每隔t秒放一次炮,炮弹不能穿越另一个碉堡,会被阻挡.人在移动的过程中不会被炮弹打到,也就 ...
- 高并发场景下的httpClient优化使用
1.背景 我们有个业务,会调用其他部门提供的一个基于http的服务,日调用量在千万级别.使用了httpclient来完成业务.之前因为qps上不去,就看了一下业务代码,并做了一些优化,记录在这里. 先 ...