当前位置: 首页 > news >正文

苏州网站seo服务甘肃省省经合局网站建设的通知

苏州网站seo服务,甘肃省省经合局网站建设的通知,整站优化案例,智慧政务门户网站建设方案arkTS基础 // 变量声明 let hi: string hello; hi hello,world; // 常量声明 const hi: string hello;// ArkTS是一种静态类型语言#xff0c;所有数据的类型都必须在编译时确定 // 如果一个变量或常量的声明包含了初始值#xff0c;那么开发者就不需要显式指定其类型。…arkTS基础 // 变量声明 let hi: string hello; hi hello,world; // 常量声明 const hi: string hello;// ArkTS是一种静态类型语言所有数据的类型都必须在编译时确定 // 如果一个变量或常量的声明包含了初始值那么开发者就不需要显式指定其类型。 let h1: string hello; let h2 hello;// ArkTS提供number和Number类型任何整数和浮点数都可以被赋给此类型的变量 let n1 3.14; let n2 3.14159; let n3 .5; let n4 1e2; function factorial(n: number): number{if(n1){return 1}return n*factorial(n-1); }let isDone: boolean true if(isDone){console.log(Done!)}let s1 hello world\n; let s2 this is a string; let a success; let s3 the result is ${a};// Object类型是所有引用类型的基类型。任何值包括基本类型的值它们会被自动装箱都可以直接被赋给Object类型的变量。// 数组中第一个元素的索引为0。 let name:string[] [Alice,Bob,Carol];enum ColorSet {Red ,Green ,Blue} enum ColorSet {White0xFF,Grey0x7F,Black0x00} let c: ColorSet ColorSet.Red;// union类型即联合类型是由多个类型组合成的引用类型。 class Cat {name:string cat} class Dog {name:string dog} type Animal Cat | Dog | number let animal:Animal new Cat(); animal 42// 比较运算符// 严格相等 ! // 严格不相等// 操作数相等 ! // 操作数不相等if语句 if (condition1){} else if (condition2){} else (condition3) {} // 条件表达式可以是任何类型。但是对于boolean以外的类型会进行隐式类型转换 let s1 hello if (s1) {console.log(s1)}Switch语句 switch (expression){case label1: break;case label2: break;default: console.log(default); }条件表达式 condition ? expression1 : expression2 let isValid Math.random() 0.5 ? true : false;For语句 for(let i0; i10; i2){sum i; } for(let ch of a string object){console.log(ch); }Throw和Try语句 throw new Error(this error) try{}catch(e){error e as Error;console.log(message${error.message}) }finally{}函数 function add(x:string, y:string): string{let z: string ${x}${y};return z; }可选参数 function hello(name?: string, age: number 2): string{if(nameundefine){console.log(hello);}else if(name){console.log(hello,${name});} }//函数的最后一个参数可以是rest参数。使用rest参数时允许函数或方法接受任意数量的实参。 Rest参数 function sum(...numbers: number[]):number{let res 0;for(let n of numbers){res n;}return res; }// 如果可以从函数体内推断出函数返回类型则可在函数声明中省略标注返回类型。 function goo() { return goo; }函数类型 // 函数类型通常用于定义回调 type trigFunc (x:number) number; function do_action(f: trigFunc){f(3.14); } do_action(Math.sin);箭头函数又名Lambda函数 let sum (x: number, y: number): number {return xy;}闭包 闭包是由函数及声明该函数的环境组合而成的包含了这个闭包创建时作用域内的任何局部变量 function f(): () number{let count 0;let g ():number {count;return count;};return g; }函数重载 function foo(x: number):void; function foo(x: string):void; function foo(x: number | string):void {}// ArkTS要求所有字段在声明时或者构造函数中显式初始化。 类 class Person {static numberOfPersons 0;name: string ;surname: string ;construct(n: string, sn: surname){this.name n;this.surname sn;}fullName(): string {return name surname;}static stMethod(): string{return this is static method.} } let p new Person(John,Smith); let q: Person {name: john,surname: Smith}; p.fullname(); Person.numberOfPersons Person.stMethod()getter和setter class Person {name:string ;private _age: number 0;get age(): number {return this._age}set age(x: number) {if(x0){throw Error(Invalid age argument)}this._age x;} }继承 class Person {name: string ;state: string ;constructor (n: string, st: string){this.name n;this.state st;}move(){} } interface Work {Work(); } class Employee extend Person{salary: number 3000constructor(n: string, st: string, sa: number){super(n,st);this.salary sa;}Work(){super.move();} }方法重载 class C {constructor(x: number): void // 构造函数1constructor(x: string): void // 构造函数2constructor(x: number | string): void{ // 构造函数实现} }可见性 // public修饰的类成员字段、方法、构造函数在程序的任何可访问该类的地方都是可见的。 // private修饰的成员不能在声明该成员的类之外访问 // protected修饰符的作用与private修饰符非常相似不同点是protected修饰的成员允许在派生类中访问 class C {public x: number 0;private m: string ;protected n: string ; }对象字面量 // 对象字面量是一个表达式可用于创建类实例并提供一些初始值。它在某些情况下更方便可以用来代替new表达式。 class C {x: number 0;s: string ; } function foo let c: C {x: 42, s: foo} c {x: 42, s: foo}// 默认情况下ArkTS中的所有类型都是不可为空 let x: number null; // 编译时错误 let x: number | null null; x 1; // ok x null; // okfunction foo(a: A | null) {a.value; // 编译时错误无法访问可空值的属性a!.value; // 编译通过如果运行时a的值非空可以访问到a的属性如果运行时a的值为空则发生运行时异常 }a ?? b等价于三元运算符(a ! null a ! undefined) ? a : b。导入、导出 export class P {} export function A() {} export let x: number 0 import * as Utils from ./utils import { X, Y } from ./utils动态导入 // say.ts export function hi() {console.log(Hello); } async function test() {let ns await import(./say);let hi ns.hi;hi(); }// 顶层语句是指在模块的最外层直接编写的语句这些语句不被包裹在任何函数、类、块级作用域中。顶层语句包括变量声明、函数声明、表达式等。 ArkTS的基本组成 装饰器 用于装饰类、结构、方法以及变量并赋予其特殊的含义。如上述示例中Entry、Component和State都是装饰器Component表示自定义组件Entry表示该自定义组件为入口组件State表示组件中的状态变量状态变量变化会触发UI刷新。UI描述以声明式的方式来描述UI的结构例如build()方法中的代码块。自定义组件可复用的UI单元可组合其他组件如上述被Component装饰的struct Hello。系统组件ArkUI框架中默认内置的基础和容器组件可直接被开发者调用比如示例中的Column、Text、Divider、Button。属性方法组件可以通过链式调用配置多项属性如fontSize()、width()、height()、backgroundColor()等。事件方法组件可以通过链式调用设置多个事件的响应逻辑如跟随在Button后面的onClick()。系统组件、属性方法、事件方法具体使用可参考基于ArkTS的声明式开发范式。// 根据组件构造方法的不同创建组件包含有参数和无参数两种方式。创建组件时不需要new运算符。 Column() {Text(item 1)Divider()Image(https://xyz/test.jpg) } 配置属性 // 属性方法以“.”链式调用的方式配置系统组件的样式和其他属性建议每个属性方法单独写一行。 Image(test.jpg).alt(error.jpg) .width(100) .height(100) 配置事件 Button(Click me).onClick(() {this.myText ArkUI;}) 配置子组件// Column、Row、Stack、Grid、List等组件都是容器组件。Column() {Row() {Image(test1.jpg).width(100).height(100)Button(click 1).onClick(() {console.info(1 clicked!);})} } 自定义组件 // 如果在另外的文件中引用该自定义组件需要使用export关键字导出并在使用的页面import该自定义组件。 // Component装饰器仅能装饰struct关键字声明的数据结构。struct被Component装饰后具备组件化的能力需要实现build方法描述UI一个struct只能被一个Component装饰。 // ReusableReusable装饰的自定义组件具备可复用能力 Component struct HelloComponent {State message: string Hello, World!;build() {// HelloComponent自定义组件组合系统组件Row和TextRow() {Text(this.message).onClick(() {// 状态变量message的改变驱动UI刷新UI从Hello, World!刷新为Hello, ArkUI!this.message Hello, ArkUI!;})}} } 组建嵌套参数传递 Component struct MyComponent {private countDownFrom: number 0;private color: Color Color.Blue;build() {} } Entry Component struct ParentComponent {private someColor: Color Color.Pink;build() {Column() {// 创建MyComponent实例并将创建MyComponent成员变量countDownFrom初始化为10将成员变量color初始化为this.someColorMyComponent({ countDownFrom: 10, color: this.someColor })}} }build()函数 /*** 所有声明在build()函数的语句我们统称为UI描述UI描述需要遵循以下规则* Entry装饰的自定义组件其build()函数下的根节点唯一且必要且必须为容器组件其中ForEach禁止作为根节点。* Component装饰的自定义组件其build()函数下的根节点唯一且必要可以为非容器组件其中ForEach禁止作为根节点。* 不允许声明本地变量build() {// 反例不允许声明本地变量let a: number 1; }* 不允许调用没有用Builder装饰的方法 * 不允许使用switch语法* 不允许直接改变状态变量* 自定义组件通用样式 Component struct MyComponent2 {build() {Button(Hello World)} }Entry Component struct MyComponent {build() {Row() {MyComponent2().width(200).height(300).backgroundColor(Color.Red)}} } ArkUI给自定义组件设置样式时相当于给MyComponent2套了一个不可见的容器组件而这些样式是设置在容器组件上的而非直接设置给MyComponent2的Button组件。通过渲染结果我们可以很清楚的看到背景颜色红色并没有直接生效在Button上而是生效在Button所处的开发者不可见的容器组件上。**/页面和自定义组件生命周期 自定义组件Component装饰的UI单元可以组合多个系统组件实现UI的复用可以调用组件的生命周期。页面即应用的UI页面。可以由一个或者多个自定义组件组成Entry装饰的自定义组件为页面的入口组件即页面的根节点一个页面有且仅能有一个Entry。只有被Entry装饰的组件才可以调用页面的生命周期。 页面生命周期即被Entry装饰的组件生命周期提供以下生命周期接口 onPageShow页面每次显示时触发一次包括路由过程、应用进入前台等场景。onPageHide页面每次隐藏时触发一次包括路由过程、应用进入后台等场景。onBackPress当用户点击返回按钮时触发。 组件生命周期即一般用Component装饰的自定义组件的生命周期提供以下生命周期接口 aboutToAppear组件即将出现时回调该接口具体时机为在创建自定义组件的新实例后在执行其build()函数之前执行。onDidBuild组件build()函数执行完成之后回调该接口不建议在onDidBuild函数中更改状态变量、使用animateTo等功能这可能会导致不稳定的UI表现。aboutToDisappearaboutToDisappear函数在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变量特别是Link变量的修改可能会导致应用程序行为不稳定。 Entry装饰的组件页面生命周期 自定义组件重新渲染 当事件句柄被触发比如设置了点击事件即触发点击事件改变了状态变量时或者LocalStorage / AppStorage中的属性更改并导致绑定的状态变量更改其值时,将启动重新渲染 if/else条件渲染 if、else if后跟随的条件语句可以使用状态变量或者常规变量(状态变量值的改变可以实时渲染UI常规变量值的改变不会实时渲染UI)。 更新机制 评估if和else if的状态判断条件如果分支没有变化无需执行以下步骤。如果分支有变化则执行2、3步骤删除此前构建的所有子组件。执行新分支的构造函数将获取到的组件添加到if父容器中。如果缺少适用的else分支则不构建任何内容。
http://www.w-s-a.com/news/218957/

相关文章:

  • 城市联盟网站怎么做百度云网站建设视频教程
  • 织梦cms 官方网站网页视频如何下载到电脑
  • 查询建设公司业绩网站国外外链平台
  • 搭建直播网站需要怎么做做石材网站步骤
  • 移动网站如何做权重wordpress 统计字数 插件
  • 编写网站的软件百度指数教程
  • 网站改版建议策划书做设计什么兼职网站
  • 北京做兼职网站文创产品设计流程
  • 南阳做玉器网站wordpress 图片被缩小
  • 自己做网站卖衣服cms做网站容易不
  • 安徽安搜做的网站怎么样手机网站商城建设答辩问题
  • 分析不同网站的优缺点房产网站定制
  • 深圳工业设计大展2021论坛与网站做优化哪个更好
  • 什么网站做招聘比较好网络营销渠道管理
  • 网站建设选择什么模式淘宝网站可以做轮播吗
  • 山西免费网站制作乌市高新区建设局网站
  • 公司网站建设费用会计处理手机app免费下载
  • 网站的做网站的公司网站有些什么内容
  • 网站新类型wordpress 随机文章
  • 电商网站建设会计分录朝阳市网站公司
  • 正邦网站建设 优帮云百姓网征婚
  • 企业网站有哪些举几个例子端午节网站建设目的
  • 南京免费发布信息网站网站建设与管理职责
  • 无锡市建设培训中心网站企业vi设计是啥
  • 宿松网站建设推荐秒搜科技国家官方网站
  • 网站的服务器选择wordpress文章底部加分享
  • 天津专业的网站建设公司阿里云服务器 wordpress
  • 家教辅导培训网站建设中东跨境电商平台有哪些
  • 商城形式的网站需要多少钱做医药商城网站的公司吗
  • 贵阳网站设计zu97彩票创建网站