本蒟蒻刚接触不久,如有错误欢迎指正
1.存储数据
1.常见数据类型
- string
- number
- boolean
2.常量与变量
1.命名规则
- 只能包含数字、字母、下划线、$,不能以数字开头
- 严格区分大小.
- 不能使用内置关键字(如:let、const)
2.变量
eg:
let age: int = 18
let enjoyment: string = '打胶'
let a: boolean = true
3.常量
const 变量名:变量类型 = 数据
eg:
const PI: int = 3.14
const CompanyName: string = 'BYD'
4.随机数
Math.random()*n //[0,n)范围的随机数
ps:
向下取整
Math.floor()
3.运算符
1.算数运算符
+ 加
- 减
* 乘
/ 除
% 取余
2.数值运算符
+= 加
-= 减
*= 乘
/= 除
%= 取余
3.一元运算符
++ --
前置写法:先赋值,再自增/自减
后置写法:先自增/自减,再赋值
4.比较运算符
返回一个布尔值
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
5.逻辑运算符
&& 并且
|| 或者
! 取反
6.运算符优先级
小括号 ( )
一元 ++、--、 !
算数 先*、/、%、后+、-
比较 >、>=、<、<=、==、!=
逻辑运算符 先 && 后 ||
赋值 =
4.语句
1.if
if(逻辑条件){
条件成立执行的代码
}
if(逻辑条件){
条件成立执行的代码
}else{
条件不成立执行的代码
}
if(逻辑条件1){
条件成立执行的代码
}else if(逻辑条件2){
条件成立执行的代码
}
2.switch-case
switch(表达式){
case 值1:
与值1匹配的执行语句
break
case 值2:
与值2匹配的执行语句
break
default:
与以上都不匹配的执行语句
}
3.三元条件表达式
条件? 条件成立执行的表达式:条件不成立执行的表达式
eg:
let num1:number = 20
let num2:number = 30
let max:number = num1>num2?num1:num2
4.循环
1.while
while(条件){
条件成立执行的代码
}
2.for
for(初始值,条件,变化量){
重复执行的代码
}
3.for-of
for( let 变量 of 数组名 ){ //用于遍历数组
}
4.退出循环
- break : 推出整个循环
- continue : 退出当前一次循环的进行,继续执行下一次循环
5.数组
1.定义数组
let 数组名:数据类型[] = []
eg:
let grop:string[] = ['张三','李四','王五'...]
let numbers:int[] = [1,2,3...]
2.取数组
数组名 [索引]
eg:
grop [0] ('王五')
numbers [1] (2)
3.添加&删除元素
数组名.unshift(数据1,数据2,数据3...)
可返回操作后的数组长度
数组名.push(数据1,数据2,数据3...)
可返回操作后的数组长度
数组名.shift()
返回删除的值
数组名.pop()
返回删除的值
数组名.splice(起始位置,删除的个数,新增元素1,新增元素2...)
eg:
删除:
数组名.splice(2,1)
增加:
数组名.splice(2,0,值1,值2....)
替换(删一项加一项):
数组名.splice(2,1,值1)
6.字符串拼接和模板字符串
1.字符串拼接
字符串+字符串
2.模板字符串
"...${变量}...${变量}..."
7.类型转换
1.字符串转数字
Number() 字符串直接转数字,转换失败返回Not A Number
parseInt() 去掉小数部分转数字,转换失败返回Not A Number
parseFloat() 保留小数部分转数字,转换失败返回Not A Number
2.数字转字符串
.toString() :数字直接转字符串
eg:
let numl:number=1.1
let num2: number =1.9
console.log('字符串是',num1.tostring())//'1.1'
console.log('字符串是',num2.tostring())//'1.9'
.toFixed() :四舍五入转入字符串,可设置几位小数
eg:
let numl:number=1.1
let num2:number =1.9
let num3:number =1.9152
console.log('字符串是',num1.toFixed())//'1'
console.log('字符串是',num2.toFixed())//'2'
console.log('字符串是',num3.toFixed(2))//'1.92'
8.函数
1.函数的定义及调用
空参
function 函数名 (){
函数体
}
含参
function 函数名 (形参1:类型,形参2:类型){
函数体
return 返回值
}
eg:
function sum(a:number,b:number) {
let c:number = 0
c = a+b
return c
}
console.log('result',sum(1,2));
函数名()
eg:
sum()
2.箭头函数
空参
let 函数名 = ()=>{
函数体
}
含参
let 函数名 = ( 形参1:类型,形参2:类型 )=>{
函数体
return 返回值
}
eg:
let sum = (a:number,b:number) => {
let c:number = 0
c = a+b
return c
}
console.log('result',sum(1,2));
9.对象&接口
1.定义
先定义接口,再基于接口定义对象
interface 接口名 { //一个接口可多次定义不同的对象
属性1:类型1
属性2:类型2
属性3:类型3
}
eg:
interface person {
name:string
age:number
gender:string
}
let 对象名:接口名 = {
属性1:值1,
属性2:值2,
属性3:值3
}
eg:
let p:person = {
name:'cxk',
age:18,
gender:'武装直升机'
}
对象名.属性名
eg:
console.log( p.name ) => cxk
console.log( p.age ) => 18
console.log( p.gender ) => 武装直升机
2.对象方法
interface 接口名 {
方法名:(参数:类型) => 返回值类型
}
eg:
interface person {
da jiao:() => void
kan pian:(pian ming:string) => void
}
interface person {
da jiao:() => void
kan pian:(pian ming:string) => void
}
let p:person = {
name:'cxk', //前三行是从约定方法中复制来的,对添加方法没有影响
age:18, //
gender:'武装直升机' //
da jiao:() => {
console.log('打个胶先')
}
kan pian:(pian ming:string) =>{
console.log('我要看',pain ming)
}
}
对象名.方法名
eg:
ren.da jiao => 打个胶先 //因为方法中已有console.log,所以调用方法就会输出
ren.kan pian('电车痴汉......') => 我要看电车痴汉......
3.对象数组
定义接口
interface 接口名 { //一个接口可多次定义不同的对象
属性1:类型1
属性2:类型2
属性3:类型3
}
定义数组
let 对象名:接口名[] = {
属性1:值1,
属性2:值2,
属性3:值3
}
eg:
interface person {
name:string
age:number
gender:string
}
let p:person[] = [
{ name:'a',age:18,gender:'男' },
{ name:'b',age:19,gender:'女' },
{ name:'c',age:20,gender:'武装直升机' }
]
数组名[下标].属性名
eg:
p[0].name => a
ps:
打印数组中的复杂数据,需调用JSON.stringify(复杂类型)
eg:
console.log( JSON.stringify(p) )
10.联合类型(一种灵活的数据类型,它修饰的变量可以存储不同类型的数据)
let 变量名:数据类型1|数据类型2|数据类型3 = 值 |表示或者
eg:
let judge: number|string = 100
judge = 'A'
联合类型还可将变量值约定在一组数据范围内进行选择
eg:
let gender:'man'|'woman'|'secret' = 'man'
11.枚举
enum 枚举名{
常量1 = 值,
常量2 = 值,
.....
}
eg:
enum ThemeColor{
red = '#ff0f29',
orange = '#ff7100',
green = '#30b30e'
}
let 变量名:枚举名 = 枚举名.常量
eg:
let color:ThemeColor = ThemeColor.rad