if语句

从babel讲到AST

和自甴很熟 提交于 2019-12-03 09:27:11
本文转载于: 猿2048 网站➽ https://www.mk2048.com/blog/blog.php?id=hkcjbcbkaa 前言 最近给团队分享了一篇babel原理,然后我把他整理成一篇blog,本篇总字数6059(含代码),速读3分钟,普通阅读5分钟,有兴趣的可以关注一下我的 github博客 babel 我们来看一段代码: [1,2,3].map(n => n + 1); 经过babel之后,这段代码变成了这样: [1, 2, 3].map(function (n) { return n + 1; }); babel的背后 babel的过程:解析——转换——生成。 这边又一个中间的东西,是抽象语法树(AST) AST的解析过程 一个js语句是怎么被解析成AST的呢?这个中间有两个步骤,一个是分词,第二个是语义分析,怎么理解这两个东西呢? 分词 什么叫分词? 比如我们在读一句话的时候,我们也会做分词操作,比如:“今天天气真好”,我们会把他切割成“今天”,“天气”,“真好”。 那换成js的解析器呢,我们看一下下面一个语句 console.log(1); ,js会看成 console , . , log , ( , 1 , ) , ; 。 所以我们可以把js解析器能识别的最小词法单元。 当然这样的分词器我们可以简易实现一下。 //思路分析:传入的是字符串的参数

python中的判断语句

落爺英雄遲暮 提交于 2019-12-03 08:06:17
学习目标01 判断语句的介绍 生活中的判断场景: 软件开发中的判断场景: 重要日期的判断: 小总结: 如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断 不仅生活中有,在软件开发中 "判断" 功能也经常用到 if判断语句 if语句是用来进行判断的,其使 用格式如下:   if 要判断的条件:     条件成立时,要做的事情 案例01:   案例02:    小总结: 以上2个案例仅仅是age变量的值不一样,导致结果却不同;能够看得出if判断语句的作用: 就是当满足一定条件时才会执行代码块语句 ,否则就不执行代码块语句 注意:代码的缩进为一个tab键,或者4个空格(pep8规范) 比较(即关系)运算符 python中的比较运算符: 案例: 逻辑运算符 案例01: 案例02: 案例03: if-else 想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢? 答:使用 if-else if-else的使用格式: 案例01: 案例02: elif 想一想: if能完成当xxx时做事情 if-else能完成当xxx时做事情1,否则做事情2 如果有这样一种情况:当xxx1满足时做事情1;当xxx1不满足、xxx2满足时做事情2;当xxx2不满足、xxx3满足时做事情3,那该怎么实现呢? 答:elif

C语言I博客作业06

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-03 06:48:41
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9885 我在这个课程的目标是 1.了解分支结构与它的作用.2.掌握if-else的嵌套结构.3.掌握字符型数据的类型及输入与输出.4.掌握逻辑运算. 这个作业在那个具体方面帮助我实现目标 通过习题强化逻辑概念,尝试定义字符类型变量去了解字符型数据,尤其是if-else嵌套的知识运用. 参考文献 《C primer Plus》《C语言程序设计》 C语言计算时间差补0方法 1.PTA实验作业 1.1 计算火车运行时间 本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。 1.1.1 数据处理 数据表达 :用了变量a,b,c,d,e,f,hh,mm.其中,a,b是通过直接输入得到的,c,d,e,f,hh,mm是通过赋值得到的.数据类型全为整型. 数据处理 :a表示出发时间,b表示到达时间,c表示出发时间的小时数,d表示出发时间的分钟数,e表示到达时间的小时数,f表示到达时间的分钟数,hh表示起止时间的小时差,mm表示起止时间的分钟差.所用表达式用c=a/100;d=a%100;e=b/100;f=b%100;hh=e-c;mm=f-d;hh=e-c-2;mm=60-d+f; 流程结构 :用if

Java流程控制

心不动则不痛 提交于 2019-12-03 06:16:02
4.流程控制 4.1关于代码的三种结构 ① 顺序结构 程序从上到下逐行地执行,中间没有任何判断和跳转。 ② 分支结构 根据条件,选择性地执行某段代码。有 if…else 和 switch-case 两种分支语句。 ③ 循环结构 根据循环条件,重复性的执行某段代码。有 while(){} 、 do{}while() 、 for(;;){} 三种循环语句。(注:JDK1.5提供了for each循环,方便的遍历集合、数组元素) 4.2分支结构 4.2.1条件判断: if-else语句 第一种结构: if(boolean表达式){ java语句; } 第二种结构: if(boolean表达式){ java语句; }else{ java语句; } 第三种结构: if(boolean表达式){ java语句; }else if(boolean表达式){ java语句; }else if(boolean表达式){ java语句; } 第四种结构: if(boolean表达式){ java语句; }else if(boolean表达式){ java语句; }else { java语句; } 注意: ①一旦满足某个条件表达式,则进入其执行语句块执行,执行完毕,跳出当前的条件判断结构,不会执行其以下的条件结构语句。即在if语句中只要有一个分支执行,则整个if语句结束

C++编程基础一 29-if语句

匿名 (未验证) 提交于 2019-12-03 00:42:01
1 // 29-if语句.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include " stdafx.h " 5 #include <iostream> 6 #include <climits> 7 #include < string > 8 #include <array> 9 #include <math.h> 10 using namespace std; 11 12 int main() 13 { 14 int hp = 0 ; 15 if (hp <= 0 ) 16 { 17 cout << " 游戏结束 " << endl; 18 } 19 // 还可以这么写 20 if (hp <= 0 ) 21 cout << " 游戏结束 " << endl; // 这么写只能默认第一条语句是body 22 23 // if...else语句 24 if (hp <= 0 ) 25 { 26 cout << " 游戏结束 " << endl; 27 } 28 else 29 { 30 cout << " 游戏继续 " << endl; 31 } 32 33 // 年龄保护游戏 34 int age = 60 ; 35 if (age < 18 ) 36 { 37 cout << " 你可以玩3个小时 " << endl; 38 } 39 else 40 { 41

js-分支判断与循环

匿名 (未验证) 提交于 2019-12-03 00:22:01
if(){}else{}; 实用案例 if(false){ alert("a"); alert("a"); alert("a"); }//end if (false); 表达式()内容为假时注释掉执行语句{}中的内容;为真时显示; if语句,执行语句的花括号是可以省略的,但只能执行一条语句; 但比较容易出现错误,不建议。 if语句嵌套格式 if(//表达式){ if(//表达式){ //执行语句 } }else if(//表达式){ //执行语句 }else if(//表达式){ //执行语句 }else if(//表达式){ //执行语句 } 例: var mark=prompt("请输入你的成绩","") if (!mark) { alert("请输入成绩") } else{ mark*=1 if (isNaN(mark)) { alert("请输入合法数字") } else{ if (mark<=100&&mark>=90) { alert("优秀") } else{ if (mark<90&&mark>=60) { alert("合格") } else{ if (mark<60&&mark>=0) { alert("差") } else{ alert("!!!!!!") } } } } } 上例可精简为 var mark=prompt("请输入你的成绩","") if (

ECMAScript语句之《if语句》

匿名 (未验证) 提交于 2019-12-03 00:09:02
ECMAScript if 语句 if 语句是 JS中最常用的语句之一,很多计算机语言都会有条件语句if。 首先咱们看一下if语句的语法: 一、语法 if(condition1){ //statement1 }else if(condition2){ //statement2 }else{ //statement3 } 解释一下这里的含义: 这里condition是if的一个条件,在程序运行的时候condition会返回两个值:true/false。 1、当condition1返回true的时候会实行statement1语句 2、当condition1返回false,condition2返回true的时候会执行statement2语句 3、当condition1、condition2都返回false,执行statement3语句 二、来几个例子说一下(因为看一点例子你就弄明白if语句): 例子1: 当条件不满足时,不会执行里面的代码,比如像下面的条件 if (2 > 4){ console.log('我不会被执行!') } 例子2: 当条件满足的时候会执行里面的代码,比如下面的代码 if (2 < 4){ console.log('我被执行了!') } 例子3: 我们也可以把条件接在外面的一个变量里面,然后再写个else。 当第一个条件不满足的时候会执行else里面的代码。 var

JS流程控制(语句)

匿名 (未验证) 提交于 2019-12-02 23:49:02
一、流程控制 1. 作用:控制代码的执行顺序 2. 分类: (1) 顺序结构:从上到下依次执行代码语句 (2) 分支/选择结构 1. if语句 简单if结构 if(条件表达式){ 表达式成立时执行的代码段 } 注意 : 除零值以外,其他值都为真,以下条件为假值false if(0){} if(0.0){} if(""){} //空字符串 if(undefined){} if(NaN){} if(null){} var a = 10; if(a<5){ console.log('成立'); //如果if不成立则不运行 } if(a<5)console.log('成立'); //如果if不成立则不运行 console.log('测试'); 2.if - else结构 if(条件表达式){ //条件成立时执行 }else{ //条件不成立时选择执行 var a = 10; if(a==0){ console.log('成立') }else{ console.log('不成立') } 3.多重分支结构 if(条件1){ //条件1成立时执行 }else if(条件2){ //条件2成立时执行 }else if(条件3){ //条件3成立时执行 }...else{ //条件不成立时执行 } var bmi=23.5; if(bmi>23.5){ console.log('肥胖') }else

if,for,while

匿名 (未验证) 提交于 2019-12-02 23:43:01
1.shell流程控制 流程控制是改变程序运行顺序的指令。linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case)。下面我将通过例子介绍下,各个语句使用方法 read -p 黑洞文件:/dev/null 2.if语句,条件判断,真假 格式: 格式:if list; then list; [ elif list; then list; ] ... [ else list; ] fi 2.1单分支 if 条件表达式; then 命令 fi 实例: #!/bin/bash N=10 if [ $N -gt 5 ]; then   echo yes fi # bash test.sh yes 2.2双分支 if 条件表达式; then   命令 else   命令 fi 实例1: #!/bin/bash N=10 if [ $N -lt 5 ]; then   echo yes else   echo no fi #bash -x test.sh #-x测试 # bash test.sh no 实例2:判断crond进程是否在运行 #!/bin/bash NAME=crond NUM=$(ps aux | grep $NAME | grep -vc "grep") if [ $NUM -eq 1 ]; then  

Mybatis 动态Sql语句《常用》

匿名 (未验证) 提交于 2019-12-02 23:06:17
MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 最常用 的就是 if where foreach这几个,一定要重点掌握. 名词解析: OGNL表达式 OGNL,全称为Object-Graph Navigation Language,它是一个功能强大的表达式语言,用来获取和设置Java对象的属性,它旨在提供一个更高的更抽象的层次来对Java对象图进行导航。 OGNL表达式的基本单位是"导航链",一般导航链由如下几个部分组成: (1)属性名称(property) (2)方法调用(method invoke) (3)数组元素 所有的OGNL表达式都基于当前对象的上下文来完成求值运算,链的前面部分的结果将作为后面求值的上下文。例如:names[0].length()。 mybatis 的 动态sql语句 是 基于OGNL表达式 的。可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类:   1. if 语句 (简单的条件判断)   2. choose (when,otherwize) ,相当于java 语言中的 switch