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语 ...
随机推荐
- Python个人总结_02
个人学习总结: python 第二课 解释型和编译型语言 计算机是不能够识别高级语言的,当我们运行一个高级语言的时候,需要将高级语言 翻译成计算机能够读懂的机器语言.这个过程分为两类,一个是编译,一个 ...
- PowerDesigner 简单应用(转载)
PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今最著名的建模软件之一.Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesign ...
- win10+anaconda+cuda配置dlib,使用GPU对dlib的深度学习算法进行加速(以人脸检测为例)
在计算机视觉和机器学习方向有一个特别好用但是比较低调的库,也就是dlib,与opencv相比其包含了很多最新的算法,尤其是深度学习方面的,因此很有必要学习一下.恰好最近换了一台笔记本,内含一块GTX1 ...
- js中boolean类型的理解
<html> <head> <script type="text/javascript"> var x="12"; aler ...
- java中try catch块的使用
对于关流操作的时候,最好采用如下语句块: InputStream in=......; try{ try{ //some statemenet }finally{ //close stream in. ...
- uva10603 倒水问题
状态搜索.类似八数码问题 AC代码 #include<cstdio> #include<queue> #include<cstring> #include<a ...
- JQ小随笔
JQ select的val 会自动选择option的val layer 弹窗插件 Validation-Engine验证插件
- Hive导入HDFS/本地数据
#创建表人信息表 person(String name,int age) hive> create table person(name STRING,age INT)ROW FORMAT DE ...
- 修改Cosbench源码 支持s3的 http range request 测试场景
在视频点播的业务应用场景中,用户使用了ffmpeg工具做视频实时转码用. 而ffmpeg使用range 请求.而Cosbench不支持这种测试场景,所以需要修改源码支持这种测试场景. HTTP 协议介 ...
- 约瑟夫环-循环队列算法(曾微软,google笔试题)
这也是我们聚会时常常做的游戏之一. 算法思路: 此处我使用循环链表模拟人围城一圈,每一个结点代表一个人.链表是一个有序链表,链表结点数据域是一个整型,代表人的序号.出局等同于链表删除元素,每次出局后重 ...