Typescript编程实践
一、顺序
// 顺序 从上往下一步一步执行let year: number = 2022let month: number = 6let day: number = 1let date: string = `${year}-${month}-${day}`// 2022-6-1 Happy Children's Dayconsole.log(date, 'Happy Children's Day')
二、选择
// 选择 逻辑判断选择性执行// if 如果...let num1: number = 10if (num1 > 0) { console.log(`${num1} 为正数`)}// if...else... 如果...其它...let num2: number = 10if (num2 % 2 == 0) { console.log(`${num2} 为偶数`)} else { console.log(`${num2} 为奇数`)}// if...else if... 如果...其它如果...let city: string = '深圳'if (city == '深圳') { console.log('南方城市')} else if (city == '北京') { console.log('北方城市')}// if...else if...else... 如果...其它如果...其它...let time: number = 21if (time > 6) { console.log('早上')} else if (time > 9) { console.log('上午')} else if (time > 11) { console.log('中午')} else if (time > 13) { console.log('下午')} else if (time > 18) { console.log('晚上')} else { console.log('凌晨')}// switch...case... 适用于多直接条件let grade: string = 'C'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 }}
三、循环
// 循环 同代码块执行多次// for 初始; 逻辑; 增量for (let i = 0; i < 10; i++) { console.log(i) // 循环输出 0 1 2 3 4 5 6 7 8 9}// while 先判断逻辑条件,再执行代码块let j = 10while (j > 0) { console.log(j) // 循环输出 10 9 8 7 6 5 4 3 2 1 j--}// do...while 先执行代码块,再判断逻辑条件let k = 1do { console.log(k) // 输出 1 k--} while (k > 0)// for...in 用于遍历一组值的集合或列表let obj = { name: 'Lucy', age: '18', gender: 'female'}for (let key in obj) { console.log(key, obj[key])}// for...of 用于遍历可迭代的数据结构let arr: Array < string > = [ '宝马', '奔驰', '奥迪']for (let val of arr) { console.log(val) // 循环输出 宝马 奔驰 奥迪}
四、跳转
// return 跳出函数,直接返回,可携带值function add(a: number, b: number): number { return a + b // 返回表达式的值}// break 跳出单层循环,结束case块for (let i = 0; i < 10; i++) { if (i % 2 != 0) { break // 遇到奇数立即跳出循环 } console.log(i) // 输出 0}console.log('x') // 输出 x// continue 跳过后面代码,继续下次循环for (let i = 0; i < 10; i++) { if (i % 2 == 0) { continue // 偶数跳过 } console.log(i) // 循环输出 1 3 5 7 9}// goto 跳到任何指定位置// 很少用到,但很好用,也很难用,自己百度吧// 面向过程、面向对象、面向搜索引擎
软件开发往往是这样的:最开始的 90% 的代码占用了开始的 90% 的开发时间;剩下 10% 代码同样需要 90% 的开发时间。——Tom Cargill