重生 之 被裁员后开滴滴之前学习了鸿蒙(part1)

本蒟蒻刚接触不久,如有错误欢迎指正

1.存储数据

1.常见数据类型

  • string
  • number
  • boolean

2.常量与变量

1.命名规则

  1. 只能包含数字、字母、下划线、$,不能以数字开头
  2. 严格区分大小.
  3. 不能使用内置关键字(如: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
  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值