TypeScript 学习笔记(四)
函数:
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 学习笔记(四)的更多相关文章
- Typescript 学习笔记四:回忆ES5 中的类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记七:泛型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记六:接口
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记二:数据类型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记三:函数
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记一:介绍、安装、编译
前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- IOS学习笔记(四)之UITextField和UITextView控件学习
IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...
- java之jvm学习笔记四(安全管理器)
java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...
随机推荐
- 面试连环炮系列(四):说说TCP的三次握手过程
说说TCP三次握手的过程? 第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认. 第二次 ...
- Mysql性能优化之参数配置(转)
前言: Mysql作为数据库中广泛应用的开源产品,需要面对不同的生产压力,而有些性能问题通过配置优化就可以得到解决,优化可以分为几个方向:1.优化参数配置.2.优化数据库索引.3.优化数据库结构,如分 ...
- WebShell代码分析溯源(六)
WebShell代码分析溯源 一.一句话变形马样本 <?php call_user_func('assert', $_REQUEST['assert']); ?> 二.代码分析 1.分析代 ...
- 利用文件保存 Map 健值信息
Map<String,MobileCard> cards = new HashMap<String,MobileCard>(); Map<String,List<C ...
- JSP的介绍
JSP概念 JSP全称java server page,中文含义为java服务端页面.对于jsp的理解需要和另外几个相似的概念连接起来:Html和Servlet.常规的html作为一个静态文本传输,具 ...
- JS高程中的垃圾回收机制与常见内存泄露的解决方法
起因是因为想了解闭包的内存泄露机制,然后想起<js高级程序设计>中有关于垃圾回收机制的解析,之前没有很懂,过一年回头再看就懂了,写篇博客与大家分享一下. #内存的生命周期: 分配你所需要的 ...
- 【CentOS 7】CentOS 7各个版本镜像下载地址(转)
参考链接:https://www.centos.org/download/mirrors/ https://www.cnblogs.com/defineconst/p/11176593.html
- Centos7下Redis设置开机自启动服务
有个同事说重启了服务器没有自启动redis,我看了一下,是以前手动编译安装的模式,没有配置开机启动的服务 这边做个笔记记录一下redis如何设置编译安装模式的开机自启动. 第一种方法: 1.编写red ...
- kaldi简介及安装
操作系统 : Ubuntu18.04_x64 gcc版本 :7.4.0 简介 Kaldi诞生于2009年的JohnsHopkins University,刚开始项目重点是子空间高斯模型(SGMM)建模 ...
- C语言中的顺序点
C语言盲点1.函数参数的求值顺序依赖于编译器,例如f(a,a++);是先求a++还是求a不一定 2.C语言中的大多数运算符对其操作数的求值顺序也依赖于编译器 警告int i = f() * g();这 ...