一,箭头表达式

  用来声明匿名函数,消除传统匿名函数的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入门知识四(表达式和循环)的更多相关文章

  1. TypeScript入门知识一(字符串特性)

    一,TypeScript多行字符串 传统JavaScript字符串换行需要+进行拼接,而TypeScript不需要+拼接.看下面实例: javaScript: var content = " ...

  2. TypeScript入门知识三(函数新特性)

    一,Rest and Spread操作符: 用来声明任意数量的方法参数也就是"..."操作符 输出结果: 18 jajj 89 function test (a, b, c) { ...

  3. TypeScript入门知识二(参数新特性)

    一,参数类型 1.在参数的名称后面使用冒号来指定参数的类型,当赋值的不是指定类型数值时会报错. var myname: string = "zhang san"; 2.当你没有指定 ...

  4. TypeScript入门知识五(面向对象特性一)

    1.类(class) 类是TypeScript的核心,使用TypeScript开发时,大部分代码都是写在类里面的. 类的定义 ,属性控制符 public(允许外部访问,也是默认的方式),private ...

  5. TypeScript入门知识五(面向对象特性二)

    1.泛型(generic) 参数化的类型,一般用来限制集合的内容 class Person { constructor(private name: string) { } work() { }}var ...

  6. typeScript入门(四)泛型

    泛型:软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性. 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能. 在像C#和Ja ...

  7. typescript 入门教程四

    ts中的function和接口 interface PrintCallback{ // 匿名函數,返回类型为空 (success:boolean):void } interface Person{ / ...

  8. TypeScript 学习二 表达式和循环

    表达式: 1,箭头表达式:将function用箭头代替,参数相应进行处理: 用来声明匿名函数,消除了传统匿名函数的this指针问题: 1) 例:简单的方法体为单行的方法,此时不需要大括号和return ...

  9. Python基础入门知识

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

随机推荐

  1. 【NOIP2015】运输计划

    [NOIP2015]运输计划 标签: 树上差分 LCA 二分答案 Description 公元 2044 年,人类进入了宇宙纪元. L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星 ...

  2. [翻译]【目录】编写高性能 .NET 代码

    本篇是 Writing High-Performance .NET Code 的目录索引,翻译内容不定时更新,目录也会同步修改. 性能测量及工具 选择什么来衡量 平均数vs百分比 工具介绍 Visua ...

  3. bzoj 2073 暴力

    2073: [POI2004]PRZ Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 442  Solved: 327[Submit][Status][D ...

  4. Android查缺补漏(IPC篇)-- 进程间通讯之Socket简介及示例

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8425736.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...

  5. web项目中js加载慢问题解决思路

    最近使用Echarts地图(版本为echarts2,echarts3目前无法下载地图版). 问题描述:之前使用require形式加载,地图首次加载显示要6-7秒,难以接受. js配置代码如下: < ...

  6. PAT乙级 1034

    思路:是个水题,但是有坑.不能被题目忽悠了,题目保证正确的输出中没有超过整型范围的整数. 它只是保证结果不超出int,但是我们在运算过程中的乘法可能会超出int,直接把所有int改成long long ...

  7. datanode启动不起来的各种原因

    一般在数据节点的log日志信息里能找到导致启动不起来的原因. 1.Namenode和Datanode的NamenodeID不一致 描述:一般在集群多次重新格式化HDFS之后,或者刚安装时会碰到.日志信 ...

  8. Java中equal和==区别及String创建过程

    Java中equal和==区别 1.起因 在一段Java代码中,使用了两种实现方式. //第一种命令行输入 int main (String[] args) { if(args[0] == " ...

  9. 2015最新Android学习线路图

    Android是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导.据2011年初数据显示仅正式上市两年的操作系统Android已经跃居全球最受欢迎的 ...

  10. The Windows account sa does not exist and cannot be provisioned as a SQL Server system administrator

    今天遇到一个案例,在使用命令修改一个测试服务器(SQL Server 2014标准版)的服务器排序规则时,遇到了下面错误信息 (具体账号信息脱敏处理,随机生成一个账号密码) The Windows a ...