函数:

  1、函数是一组一起执行一个任务的语句

  2、我们可以把一段可复用的代码放到一起组成函数,从而提高效率

  3、函数声明(通过关键字 function 来声明)告诉编译器函数的名称、返回类型和参数

  4、函数定义提供了函数的实际主体,在这里函数体由花括号括起来

  5、函数有可选参数、默认参数和剩余参数等,可选参数由 "?" 号标识,默认参数则是提供默认值

       在不知道有几个参数的时候我们使用剩余参数,前面由 "..." 标识

function setNum(num?: number) {
let theNum = ;
// num 为可选参数
if (num)
theNum = num;
return theNum;
} function greet(firstName: string, lastName: string = "Yam") {
// lastName 为默认参数
return "Hello " + firstName + " " + lastName;
} // 剩余参数 sumArr
function add(...sumArr: number[]) {
let sum: number = ;
for (let i = ; i < sumArr.length; ++i)
sum += sumArr[i];
return sum;
} let getNum: number = setNum();
let hello = greet("Lemon");
let getSum = add(, , ); let str: string = `${getNum}
${hello}
${getSum}`; // 弹出 12
// HelloHello Lemon Yam
//
alert(str);

注:参数不能同时设为可选的和默认的

  6、匿名函数是一个没有函数名的函数,我们可以赋值给一个变量,从而形成函数表达式

let func = function([args]) {...}

  7、函数通过在函数后使用 "()" 实现自调用

// 赋值给 sayHello 后自调用
let sayHello = function () {
alert("Hello World");
}()

  8、Lambda 函数也称箭头函数

// 格式为 ([param1, param2, ..., paramn]) => statement;
let greet = (name: string) => {alert(`Hello ${name}`);}

  9、函数重载:方法名字相同而参数不同,返回类型1可以相同也可以不同

function disp(str: string) {
console.log(str);
} function disp(num: number) {
console.log(num);
} disp("Lemon");
disp(12);

Number:

  1、对象属性:

    a、MAX_VALUE:可表示的最大的数

    b、MIN_VALUE:可表示的最小的数

    c、NaN:非数字值

    d、POSITIVE_INFINITY:正无穷大,溢出时返回该值,且该值大于 MAX_VALUE

    e、NEGATIVE_INFINITY:负无穷大,溢出时返回该值,且该值小于 MIN_VALUE

    f、prototype:Number 对象的静态属性,可通过它来向对象添加属性和方法

    g、constructor:返回对创建此对象的 Number 函数引用

console.log("最大值" + Number.MAX_VALUE);    // 最大值1.7976931348623157e+308
console.log("最小值" + Number.MIN_VALUE); // 最小值5e-324
console.log("非数字值" + Number.NaN); // 非数字值NaN
console.log("正无穷大" + Number.POSITIVE_INFINITY); // 正无穷大Infinity
console.log("负无穷大" + Number.NEGATIVE_INFINITY); // 负无穷大-Infinity function Person(id: number, name: string) { this.id = id;
this.name = name;
} let student = new Person(11, "Lemon");
Person.prototype.habbit = "basketball"; console.log("学号:" + student.id); // 学号:11
console.log("名字:" + student.name); // 名字:Lemon
console.log("爱好:" + student.habbit); // 爱好:basketball console.log("函数名字:" + student.constructor.name); // 函数名字:Person

  2、对象方法:

    a、toExponential():把对象的值转换为指数计数法

    b、toFixed():把数字转换为字符串,并对小数点指定位数

    c、toLocaleString():把数字转换为字符串,使用本地数字格式顺序

    d、toPrecision():把数字格式化为指定的长度

    e、toString():把数字转换为字符串,使用指定的基数(2~36 之间,默认为 10)

    f、valueOf():返回一个 Number 对象的原始数字值

let num: number = 12.345;
// 12.345 的指数形式为:1.2345e+1
console.log("12.345 的指数形式为:" + num.toExponential());
// 12.345 保留小数点后 2 位后的字符串为:12.35
console.log("12.345 保留小数点后 2 位后的字符串为:" + num.toFixed(2));
// 转换成本地字符串12.345
console.log("转换成本地字符串" + num.toLocaleString());
// 指定长度为3后为:12.3
console.log("指定长度为3后为:" + num.toPrecision(3));
num = 16;
// 16 转换成 8 进制后的字符串为:20
console.log("16 转换成 8 进制后的字符串为:" + num.toString(8));
// 原始数字值16
console.log("原始数字值" + num.valueOf());

TypeScript 学习笔记(四)的更多相关文章

  1. Typescript 学习笔记四:回忆ES5 中的类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  2. Typescript 学习笔记七:泛型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  3. Typescript 学习笔记六:接口

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  4. Typescript 学习笔记五:类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  5. Typescript 学习笔记二:数据类型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  6. Typescript 学习笔记三:函数

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  7. Typescript 学习笔记一:介绍、安装、编译

    前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...

  8. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  9. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  10. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

随机推荐

  1. Sqlite—删除语句(Delete)

    SQLite 的 DELETE 语句用于删除表中已有的记录.可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除. SQLite 要清空表记录,只能使用Delet ...

  2. 3.Redux学习3----redux-saga

    redux-saga和redux-thunk功能差不多,都是为了避免直接在组件生命周期函数中做异步操作,便于自动化测试,便于拆分管理. 首先要下包 npm i redux-saga 第零步:在acti ...

  3. webpack 配置babel-loader babel7

    babel 7版本配置 在webpack中 默认只能处理部分 ES6的新语法,一些更高级的ES6或ES7的语法,webpack是处理不了的这个时候就需要借助第三方的loader 来帮助webpack ...

  4. feign响应Image流对象

    feign面向方法签名的http调用,越来越受欢迎,类型于rpc的thrift,只需要关注方法签名和返回值即可,当然feign响应流对象时,需要我们做一下特殊处理,否则会出现异常.也有一些文章通过重写 ...

  5. Oracle VirtualBox安装CentOS 8

    1.下载CentOS CentOS下载地址: https://wiki.centos.org/Download 这里以CentOS8为例 选择一个比较快的地址,这里以jdcloud mirror为例 ...

  6. arcgis api for javascript 学习(一) 调用在线发布的动态地图

    1.图中显示为arcgis软件中显示的地图文件 2.调用动态地图主要的是知道动态地图的URL地址 3.通过IDE(webstorm)调用动态地图,如图 4.话不多说,直接上代码 <!DOCTYP ...

  7. 一文解读Redis (转)

    本文由葡萄城技术团队编撰并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 引言 在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原 ...

  8. OpenTSDB 简单使用 .NET

    OpenTSDB是基于Hbase的时序数据库[时间序列数据库].不具备通用性,主要针对具有时间特性和需求的数据,如监控数据.温度变化数据等. 1.安装OpenTSDB 安装前一定要安装HBase,相关 ...

  9. cobbler无人值守

    一.背景介绍 ​ 作为运维,在公司经常遇到一些机械性重复工作要做,例如:为新机器装系统,一台两台机器装系统,可以用光盘.U盘等介质安装,1小时也完成了,但是如果有成百台的服务器还要用光盘.U盘去安装, ...

  10. MySQL数据库~~~~~创建用户和授权、备份和还原

    一 MySQL创建用户和授权 1.1 对新用户增删改 1.创建用户: # 指定ip:192.118.1.1的chao用户登录 create user 'chao'@'192.118.1.1' iden ...