程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java相关开发、嵌入式、鸿蒙开发、人工智能等,专注于程序员搞钱那点儿事,希望在搞钱的路上有你相伴!君志所向,一往无前!
1.ArkTS基础语法
1.1 常量
常量:用来存储数据 (不可变)
写法:const 常量名: 类型 = 值
示例:
Button("查看常量").onClick(()=>{
// 常量 值不能更改的 使用:const
const name="程序员Feri"
console.log("Feri-常量",name)
}).width("100%").margin(20)
AI 代码解读
1.2 命名规则
1.只能包含数字、字母、下划线、$,不能以数字开头
2.不能使用内置关键字或保留字 (比如 let、const)
3.严格区分大小写
1.3 数组
1.概念
数组:是一个容器,可以存储多个数据,这些元素可以是任何类型,包括原始类型(如number、string、boolean等)和对象类型(如object、class实例等)。
注意:数组指定的类型和存储的数据类型要必须一致,否则会报错
2.声明
可以使用以下几种方式来声明数组:
1.类型注解:
使用类型注解来指定数组中元素的类型
2.数组泛型:
使用泛型来定义数组,其中Array表示数组中元素的类型
示例:
Button("数组变量").onClick(()=>{
// 数组声明 2种方式
//1.类型注解
let arr1:string[]=["我爱Feri","必须关注","铁粉一枚!"]
console.log("Feri-数组",arr1)
//2.数组泛型
let arr2:Array<number> =[1,3,5,7]
console.log("Feri-数组",arr2)
console.log("Feri-数组索引",arr1[1])
}).width("100%").margin(20)
AI 代码解读
通过索引访问数组的时候,切记索引是从0开始的
3.数组的常用函数
push(): 向数组的末尾添加一个或多个元素,并返回新的长度。
pop(): 删除数组的最后一个元素,并返回那个元素。
shift(): 删除数组的第一个元素,并返回那个元素。
unshift(): 向数组的开头添加一个或多个元素,并返回新的长度。
slice(): 返回数组的一个部分,原数组不会被修改。
splice(): 通过删除现有元素和/或添加新元素来更改数组的内容。
map(): 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数。
filter(): 创建一个新数组,包含通过所提供函数实现的测试的所有元素。
reduce(): 对数组中的每个元素执行一个由您提供的“reducer”函数(接受四个参数:累加器accumulator、当前值currentValue、当前索引currentIndex和源数组array),将其结果汇总为单个返回值。
示例:
Button("数组操作").onClick(()=>{
// 数组声明 2种方式
//1.类型注解
let arr1:string[]=["我爱Feri","必须关注","铁粉一枚!"]
console.log("Feri-数组",arr1)
//2.数组泛型
let arr2:Array<number> =[1,3,5,7]
//删除并返回最后一个元素
console.log("Feri-数组,删除并返回最后一个元素",arr2.pop())
//添加
arr2.push(108)
//删除并返回第一个元素
console.log("Feri-数组,删除并返回第一个元素",arr2.shift())
//获取指定索引的元素
console.log("Feri-数组索引",arr1[1])
//数组条件过滤
console.log("Feri-数组", arr2.filter((e)=>{
return e>3
}))
console.log("Feri-数组",arr2)
}).width("100%").margin(20)
AI 代码解读
2.函数
2.1 函数是什么
函数是一段可重复使用的代码块,用于执行特定的任务。与JavaScript中的函数类似,但增加了类型系统和一些额外的特性,使得函数更加健壮和安全。
函数:是可以被重复使用的代码块,函数可以把具有相同或相似逻辑的代码“包裹”起来,有利于代码复用。
2.2 函数的定义
1.定义(声明)
函数需要先定义,才可以调用,那么函数的定义格式如下所示:
function 函数名(参数名:参数数据类型,……):
函数返回值的数据类型 {
函数体
[return 返回值;]
}
AI 代码解读
2.参数
函数可以有参数,也可以没有参数
其中参数的作用:函数能够接收和处理外部的数据,提高函数的灵活性和通用性
其中参数根据定义时和调用时又分为:
● 实参:真实数据(函数调用时候的传入的真实数据)
● 形参:形式上的参数(函数定义时候写的参数)
3.返回值
函数可以有返回值也可以没有返回值
返回值作用:将函数的执行结果传递给其他部分使用(函数外部)。
默认情况下,函数外部无法直接使用函数内部执行结果;
如果想要在函数外部使用内部执行结果,需要将这个结果设置为函数的返回值。
2.3 匿名函数 VS 箭头函数
1.概念:
你们函数:没有函数名的函数,通常用作回调或立即执行
箭头函数(Arrow Functions)是ES6(ECMAScript 2015)中引入的一种编写函数表达式的新语法。提供了一种更简洁的方式来书写函数,并且在某些情况下,与传统的函数表达式有所不同,尤其是在this的绑定上。
2.格式
箭头函数:使用箭头(=>)语法,使得函数定义更加简洁。
(param) => { /* ... */ }
AI 代码解读
匿名函数:使用传统的function关键字,通常看起来更冗长。
function (param) { /* ... */ }
AI 代码解读
3.this绑定
箭头函数:不绑定自己的this,它会捕获其所在上下文的this值。这意味着箭头函数内部的this与外围函数的this保持一致。
匿名函数:有自己的this值,它通常取决于函数的调用方式。例如,在对象方法中,匿名函数的this通常指向该对象。
4.arguments对象
箭头函数:不绑定arguments对象。如果需要访问函数参数,必须使用剩余参数(...args)。
匿名函数:有自己的arguments对象,可以用来访问函数的所有参数。
5.构造函数
箭头函数:不能用作构造函数,尝试使用new操作符将会抛出错误。
匿名函数:可以作为构造函数使用,可以与new关键字一起创建新的对象实例。
6.原型属性
箭头函数:没有prototype属性。
匿名函数:有prototype属性,可以用来添加方法或属性。
7.返回对象字面量
箭头函数:如果箭头函数的函数体是一个对象字面量,需要用圆括号包裹起来,否则它会被视为一个块语句。例如:() => ({ key: 'value' })
匿名函数:可以直接返回对象字面量,不需要额外的圆括号。例如:function () { return { key: 'value' }; }
2.4 函数的使用
1.定义函数
定义3种类型:
1.无参无返回值类型
2.有参无返回值类型
3.有参有返回值类型
示例:
//无参无返回值
function fun1(){
console.log("Feri-函数","无参无返回值类型")
}
//有参无返回值
function fun2(num1:number,num2:number){
console.log("Feri-函数,求和=",num1+num2)
console.log("Feri-函数","有参无返回值类型")
}
//有参有返回值
function fun3(num1:number,num2:number):number{
return num1+num2
}
AI 代码解读
2.使用函数(函数调用)
示例:
Button("无参无返回值函数").onClick(()=>{
fun1()
}).margin(20)
Button("有参无返回值函数").onClick(()=>{
fun2(1,2)
}).margin(20)
Button("有参有返回值函数").onClick(()=>{
console.log("Feri-函数,有参有返回值",fun3(128,168))
}).margin(20)
AI 代码解读
效果:
好啦,本篇文章就到这里啦,感谢各位的观看,关注我,跟着我一起翱翔Harmony OS的开发旅途!