一,箭头表达式

  用来声明匿名函数,消除传统匿名函数的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. angular+require前端项目架构搭建

    app //应用入口 directive //自定义指令 require-main //require的主配置文件  存放公共调用的js service //请求后端数据公有类 controllers ...

  2. Servlet3.0上传图片示例

    一.前端JSP页面 <%@page pageEncoding="UTF-8"%><!DOCTYPE html><html><head> ...

  3. CentOs下Mongodb的下载与安装

    1.下载MongoDB(64位) http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz tar zxvf mongodb-lin ...

  4. uva11400 动态规划

    没种电压灯泡要么全换,要么不换.状态d(i)表示前i种灯泡的最低价格. 转移方程: dp[i]=min(dp[i],dp[j]+(s[i]-s[j])*d[i].c+d[i].k); AC代码: #i ...

  5. flask中jinjia2模板使用详解2

    接上文 注释的使用 在jinjia2模板中,使用{# #}进行代码注释,如下所示 运行后发现,注释不会被render出来 去掉空行 两种方法可以去掉jinjia2模板中的空白行,一是设置jinjia2 ...

  6. Storm+HBase实时实践

    1.HBase Increment计数器 hbase counter的原理: read+count+write,正好完成,就是讲key的value读出,若存在,则完成累加,再写入,若不存在,则按&qu ...

  7. openstack-ocata-身份验证2

    Identity service 一.身份服务概述 OpenStack身份管理服务提供一个单点集成身份验证.授权和目录服务. 身份服务通常是第一个服务用户与之交互.一旦身份验证,最终用户可以使用自己的 ...

  8. 20 个 CSS 高级技巧汇总

    原文:https://segmentfault.com/a/1190000003936841 使用技巧会让人变的越来越懒,没错,我就是想让你变懒.下面是我收集的CSS高级技巧,希望你懒出境界. 1. ...

  9. 经典案例之MouseJack

    引言:在昨天的文章<无线键鼠监听与劫持>中,我们提到今天会向您介绍一个无线键鼠的监听与劫持的经典案例,<MouseJack>:MouseJack能利用无线鼠标和键盘存在的一些问 ...

  10. DOS下串口通信程序来传送文件的源代码

    接收程序: #include <dos.h>#include <fstream.h>#include <conio.h>#include <stdio.h&g ...