一,箭头表达式

  用来声明匿名函数,消除传统匿名函数的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. vue学习问题总结(一)

    使用comopontent组件报错错误信息:vue.js:491 [Vue warn]: Unknown custom element: <todo-item> - did you reg ...

  2. mysql存储引擎、事务

    MySQL存储引擎介绍 文件系统 操作系统组织和存取数据的一种机制. 文件系统是一种软件. 文件系统类型 ext2  ext3  ext4  xfs 数据 不管使用什么文件系统,数据内容不会变化 不同 ...

  3. Egret学习笔记.1 (写在前面的废话)

    我记得之前谁说过,大部分程序员入行,都是因为小的时候的游戏机啊,各种电子设备啊....觉得有意思,才入的行 . 至少我本人是因为之前上高中那会儿,喜欢玩手机.那会儿还是MTK,塞班的时代,喜欢拿着手机 ...

  4. HDU - 2112 HDU Today Dijkstra

    注意: 1.去重边 2.终点和起点一样,应当输出0 3.是无向图 AC代码 #include <cstdio> #include <cmath> #include <al ...

  5. 情景linux--shell如何实现多线程?

    情景linux--shell如何实现多线程? 情景 shell脚本的执行效率虽高,但当任务量巨大时仍然需要较长的时间,尤其是需要执行一大批的命令时.因为默认情况下,shell脚本中的命令是串行执行的. ...

  6. ffmpeg结构体以及函数介绍(一)

    本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.5,因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmp ...

  7. android技术晋升之道

    写一篇文章记录一下我看到的几个特别常见的误区,希望对团队晋升的同学能有帮助. 误区1:把特质当成案例 工作非常努力,连续一个月加班到12点,解决了问题 喜欢学习新技术和分享,团队同学都很喜欢 善于钻研 ...

  8. PHPmysqli的 预处理执行插入语句

    预编译在mysql端 预编译可以自动防止sql注入攻击 <?php //预编译技术 //1.创建一个mysqli对象 //2.创建myslqi预编译对象 $mysqli=); $mysqli-& ...

  9. 利用apache自带的工具 分割访问日志

    httpd.conf中CustomLog logs/access.log common 改成 CustomLog "|c:/apache/bin/rotatelogs.exe c:/apac ...

  10. W: 无法下载 bzip2:/var/lib/apt/lists/partial/extras.ubuntu.com_ubuntu_dists_trusty_main_source_Sources

    1 错误描述 youhaidong@youhaidong:~$ cd 下载 youhaidong@youhaidong:~/下载$ sudo apt-get update 忽略 http://cn.a ...