HarmonyOS NEXT条件语句和循环迭代

条件语句 使用规则

  • 支持if、else和else if语句。
  • if、else if后跟随的条件语句可以使用状态变量或者常规变量(状态变量:值的改变可以实时渲染UI,常规变量:值的改变不会实时渲染UI)。
  • 允许在容器组件内使用,通过条件渲染语句构建不同的子组件。
  • 条件渲染语句在涉及到组件的父子关系时是“透明”的,当父组件和子组件之间存在一个或多个if语句时,必须遵守父组件关于子组件使用的规则。
  • 每个分支内部的构建函数必须遵循构建函数的规则,并创建一个或多个组件。无法创建组件的空构建函数会产生语法错误。
  • 某些容器组件限制子组件的类型或数量,将条件渲染语句用于这些组件内时,这些限制将同样应用于条件渲染语句内创建的组件。例如,Grid容器组件的子组件仅支持GridItem组件,在Grid内使用条件渲染语句时,条件渲染语句内仅允许使用GridItem组件。

if语句

let num:number = 5
if (num > 0) { 
   console.log('此数字大于0') 
}

if (num % 2==0) { 
    console.log(num+' 是偶数'); 
} else {
    console.log(num+' 是奇数'); 
}

if(num > 0) { 
    console.log(num+' 是正数') 
} else if(num < 0) { 
    console.log(num+' 是负数') 
} else { 
    console.log(num+' 既不是正数也不是负数') 
}

switch…case 语句

let grade:string = 'A'; 
switch(grade) { 
    case 'A': { 
        console.log('优'); 
        break; 
    } 
    case 'B': { 
        console.log('良'); 
        break; 
    } 
    case 'C': {
        console.log('及格'); 
        break;    
    } 
    case 'D': { 
        console.log('不及格'); 
        break; 
    }  
    default: { 
        console.log('非法输入'); 
        break;              
    } 
}

循环迭代 当一个对象实现了Symbol.iterator属性时,我们认为它是可迭代的。一些内置的类型如Array,Map,Set,String,Int32Array,Uint32Array等都具有可迭代性。

let list = ["红色", "黄色", "绿色"];
//  索引→   0       1       2

//while
console.log("--------while--------");
let i=0;
while(i<list.length){
    console.log(i+":"+list[i]); // 0:红色,1:黄色,2:绿色
    i++;// i=i+1
}

//do while 至少执行一次
console.log("--------do while--------");
i=0;
do{
    console.log(i+":"+list[i]); // 0:红色,1:黄色,2:绿色
    i++;
}while(i<list.length);

//for
console.log("--------for--------");
for(let i=0;i<list.length;i++){
    console.log(i+":"+list[i]); // 0:红色,1:黄色,2:绿色
}

//for in
console.log("--------for in--------");
for(let index in list) {
    console.log(index+":"+list[index]); // 0:红色,1:黄色,2:绿色
}

//for of
console.log("--------for of--------");
for(let item of list) {
    console.log(item); // 红色,黄色,绿色
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务