1.另一种数据类型是布尔(Boolean)。布尔 值要么是true要么是false,

它非常像电路开关, true 是“开”,false是“关”。这两种状态是互斥的

2.伪代码

if(条件为真){

语句被执行

}

在函数内部创建一个 if 语句,如果该参数 wasThatTrue值为 true,返回 "That was true",否则,并返回 "That was false",

// 定义 myFunction
function myFunction(wasThatTrue) {

// 请把你的代码写在这条注释以下

if(wasThatTrue){
return "That was true";
}

// 请把你的代码写在这条注释以上
return "That was false";
}

// 你可以修改这一行来测试你的代码
myFunction(true);

3.最基本的运算符是相等运算符:==

相等运算符比较两个值,如果它们是同等,返回 true,如果它们不等,返回 false

值得注意的是相等运算符不同于赋值运算符(=

任务

相等运算符 添加到指定的行,这样当 val 的值为12的时候,函数会返回"Equal"

// 定义 myTest
function myTest(val) {
if (val==12) { // 请修改这一行
return "Equal";
}
return "Not Equal";
}

// 你可以修改这一行来测试你的代码
myTest();

4.严格相等运算符(===)是相对于相等操作符(==)的一种操作符。

与相等操作符不同的是,它会同时比较元素的值和 数据类型

// 定义 myTest
function myTest(val) {
if (val===7) { // 请修改这一行
return "Equal";
}
return "Not Equal";
}

// 你可以修改这一行来测试你的代码
myTest(10);//myTest(10) 应该返回 "Not Equal"

              myTest(7) 应该返回 "Equal"

                      myTest("7") 应该返回 "Not Equal".
 
 
 
5.不相等运算符(!=)与相等运算符是相反的

function myTest(val) {
if (val!=99) { // 请修改这一行
return "Not Equal";
}
return "Equal";
}

// 你可以修改这一行来测试你的代码
myTest("99");  //myTest(99) 应该返回 "Equal"

                        myTest("99") 应该返回 "Equal"
                      myTest(12) 应该返回 "Not Equal"
                       myTest("12") 应该返回 "Not Equal"
                      myTest("bob") 应该返回 "Not Equal"
 
 
 
 
 
 
6.严格不相等运算符(!==)与全等运算符是相反的
 
 
7.使用大于运算符(>)来比较两个数字。
如果大于运算符左边的数字大于右边的数字,将会返回 true。否则,它返回 false,
 

function myTest(val) {
if (val>100) { // 请修改这一行
return "Over 100";
}

if (val>10) { // 请修改这一行
return "Over 10";
}

return "10 or Under";
}

myTest(1);       // 你可以修改这一行来测试你的代码
//myTest(0) 应该返回 "10 or Under"

myTest(10) 应该返回 "10 or Under"
myTest(11) 应该返回 "Over 10"
myTest(99) 应该返回 "Over 10"
myTest(100) 应该返回 "Over 10"
myTest(101) 应该返回 "Over 100"
myTest(150) 应该返回 "Over 100"
 
 
8.使用大于等于 运算符(>=)来比较两个数字的大小
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

function myTest(val) {
// 请只修改这条注释以下的代码

if (val<=50&&val>=25) {

return "Yes";

}

// 请只修改这条注释以上的代码
return "No";
}

// 你可以修改这一行来测试你的代码
myTest(10);

12.只要求多个条件满足一个,用II逻辑运算符,(按键在shift+\)

function myTest(val) {
// 请只修改这条注释以下的代码

if (val<10||val>20) {
return "Outside";

}

// 请只修改这条注释以上的代码
return "Inside";
}

// 你可以修改这一行来测试你的代码
myTest(15);

13写一个else语句,当条件为假时执行相应的代码

function myTest(val) {
var result = "";
// 请只修改这条注释以下的代码

if (val > 5) {
result = "Bigger than 5";
}

else{
result = "5 or Smaller";
}

// 请只修改这条注释以上的代码
return result;
}

// 你可以修改这一行来测试你的代码
myTest(4);

14.如果你有多个条件语句,你可以通过else if语句把 if语句链起来(if   else if      else)

function myTest(val) {
if (val > 10) {
return "Greater than 10";
}

else if (val < 5) {
return "Smaller than 5";
}
else{
return "Between 5 and 10";}
}

// 你可以修改这一行来测试你的代码
myTest(7);

15.ifelse if语句中代码的执行顺序是很重要的。

在条件判断语句中,代码的执行顺序是从上到下,所以你需要考虑清楚先执行哪一句,后执行哪一句

16.if/else 语句串联在一起可以实现复杂的逻辑

function myTest(num) {
// 请只修改这条注释以下的代码
if(num<5){
return "Tiny";
}
else if(num<10){
return "Small";
}
else if(num<15){
return "Medium";
}
else if(num<20){
return "Large";
}
else if(num>=20){
return "Huge";
}
else{
return "修改这里";}
// 请只修改这条注释以上的代码
}

// 你可以修改这一行来测试你的代码
myTest(7);

17.

在高尔夫golf游戏中,每个洞都有自己的标准杆数par,代表着距离。根据你把球打进洞所挥杆的次数strokes,可以计算出你的高尔夫水平。

函数将会传送2个参数,分别是标准杆数par 和 挥杆次数strokes ,根据下面的表格返回正确的水平段位。

Strokes Return
1 "Hole-in-one!"
<= par - 2 "Eagle"
par - 1 "Birdie"
par "Par"
par + 1 "Bogey"
par + 2 "Double Bogey"
>= par + 3 "Go Home!"

parstrokes 必须是数字而且是正数

function golfScore(par, strokes) {
// 请只修改这条注释以下的代码
if(strokes==1) {
return"Hole-in-one!";
}

}

else if(strokes==par - 1){return"Birdie";

}
else if(strokes==par){return"Par";}

else if(strokes==par + 1){return"Bogey";

}
else if(strokes==par + 2){return"Double Bogey";

}
else if(strokes>= par + 3){return"Go Home!";

}
else{
return "修改这里";}
// 请只修改这条注释以上的代码
}

// 你可以修改这一行来测试你的代码
golfScore(5, 4);

18.如果你有非常多的选项需要选择,可以使用switch语句。

根据不同的参数值会匹配上不同的case分支,

语句会从第一个匹配的case分支开始执行,直到碰到break就结束

任务

写一个测试 val的switch语句,并且根据下面的条件来设置不同的answer
1 - "alpha"
2 - "beta"
3 - "gamma"
4 - "delta"

function myTest(val) {
var answer = "";
// 请把你的代码写在这条注释以下
switch(val){
case 1: answer ="alpha";
break;
case 2: answer ="beta";
break;
case 3: answer = "gamma";
break;
case 4: answer ="delta";
break;
}

// 请把你的代码写在这条注释以上
return answer;
}

// 你可以修改这一行来测试你的代码
myTest(1);

19.在switch 语句中你可能无法用case来指定所有情况,

这时你可以添加default语句,当再也找不到case匹配的时候default语句会执行,

非常类似于if/else组合中的else语句

任务

写一个根据下面的条件来设置answer的switch语句:
"a" - "apple"
"b" - "bird"
"c" - "cat"
default - "stuff"

function myTest(val) {
var answer = "";
// 请把你的代码写在这条注释以下
switch(val){
case 'a':answer="apple";
break;
case 'b':answer="bird";
break;
case 'c':answer="cat";
break;
default:answer="stuff";

}
// 请把你的代码写在这条注释以上
return answer;
}

// 你可以修改这一行来测试你的代码
myTest(1);

20.如果switch语句中的case分支的break 语句漏掉了,

后面的case语句会一直执行直到遇到break,

如果你有多个输入值和输出值一样,可以试试下面的switch语句

任务

写一个根据下面的范围来设置answer 的switch语句:
1-3 - "Low"
4-6 - "Mid"
7-9 - "High"

function myTest(val) {
var answer = "";
// 请把你的代码写在这条注释以下
switch(val){
case 1:
case 2:
case 3:
answer="Low";
break;

case 4:
case 5:
case 6:
answer="Mid";
break;

case 7:
case 8:
case 9:
answer="High";
break;
}
// 请把你的代码写在这条注释以上
return answer;
}

// 你可以修改这一行来测试你的代码
myTest(1);

21.任务

把串联的 if/if else 语句改成 switch 语句

function myTest(val) {
var answer = "";
// 请只修改这条注释以下的代码

if (val === "bob") {
answer = "Marley";
} else if (val === 42) {
answer = "The Answer";
} else if (val === 1) {
answer = "There is no #1";
} else if (val === 99) {
answer = "Missed me by this much!";
} else if (val === 7) {
answer = "Ate Nine";
}

// 请只修改这条注释以上的代码
return answer;
}

// 你可以修改这一行来测试你的代码
myTest(7);

/////////////////////////////////////////

function myTest(val) {
var answer = "";
// 请只修改这条注释以下的代码

switch(val) {
case "bob":answer = "Marley";
break;
case 42: answer = "The Answer";
break;
case 1:answer = "There is no #1";
break;
case 99:answer = "Missed me by this much!";
break;
case 7:answer = "Ate Nine";
break;
}

// 请只修改这条注释以上的代码
return answer;
}

// 你可以修改这一行来测试你的代码
myTest(7);

22.所有的比较操作符返回的都是一个boolean值,要么是 true要么是false,

如果不特意设置输出值,可以简略步骤

///////////////////////////////////////////////////////

任务

移除isLess函数的if/else语句但不影响函数的功能

function isLess(a, b) {
// 请修改这部分代码
if (a < b) {
return true;
} else {
return false;
}
}

// 你可以修改这一行来测试你的代码
isLess(10, 15);

///////////////////////////////////////////

function isLess(a, b) {
// 请修改这部分代码

return a < b;
}

// 你可以修改这一行来测试你的代码
isLess(10, 15);

24.当代码执行到return语句时,函数返回一个结果就结束运行了,return后面的语句根本不会执行

任务

修改函数abTestab小于0时,函数立即返回一个undefined并退出。

提示
记住undefined,是一个关键字,而不是一个字符串

/ 定义 abTest
function abTest(a, b) {
// 请把你的代码写在这条注释以下
if(a<0||b<0){
return undefined;
}

// 请把你的代码写在这条注释以上

return Math.round(Math.pow(Math.sqrt(a) + Math.sqrt(b), 2));
}

// 你可以修改这一行来测试你的代码
abTest(2,2);

25.

FCC 基础JavaScript 练习4的更多相关文章

  1. FCC 基础JavaScript 练习7

    1. Math.random()用来生成一个在0(包括0)到1(不包括1)之间的随机小数,因此Math.random()可能返回0但绝不会返回1. 提示随后的函数都会在return执行前调用,所以我们 ...

  2. FCC 基础JavaScript 练习6

    1.对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的, 对象适合用来存储结构化数据,就和真实世界的对象一模一样,比如一只猫. 任务 创建一个叫做myDog的对象,它里 ...

  3. FCC 基础JavaScript 练习2

    1. 引号不是字符串中唯一的可以被转义字符.下面是常见的转义序列列表: \'  单引号 \" 双引号 \\ 反斜杠符 \n 换行符 \r 回车符 \t 制表符 \b 退格符 \f  换页符 ...

  4. FCC 基础JavaScript 练习1

    1.JavaScript中的注释方式有以下两种 // This is an in-line comment. /* This is a multi-line comment */ 2.avaScrip ...

  5. FCC 基础JavaScript 练习5

    在赌场21点游戏中,玩家可以通过计算牌桌上已经发放的卡牌的高低值来让自己在游戏中保持优势,这就叫21点算法. 根据下面的表格,每张卡牌都分配了一个值.如果卡牌的值大于0,那么玩家应该追加赌注.反之,追 ...

  6. FCC 基础JavaScript 练习3

    1.通过使用提供的变量参数:名词myNoun.形容词myAdjective.动词myVerb.副词myAdverb,来创建一个新的句子 result, function wordBlanks(myNo ...

  7. 回归基础: JavaScript 变量提升

    from me: javascript的变量声明具有hoisting机制,它是JavaScript一个基础的知识点,也是一个比较容易犯错的点,平时在开发中,大大小小的项目都会遇到. 它是JavaScr ...

  8. js基础--javaScript数据类型你都弄明白了吗?绝对干货

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...

  9. 基础JavaScript练习(三)总结

    任务目的 实践JavaScript数组.字符串相关操作 任务描述 基于任务四进行升级 将新元素输入框从input改为textarea 允许一次批量输入多个内容,格式可以为数字.中文.英文等,可以通过用 ...

随机推荐

  1. ESG操作指南

    ESG使用指南:1.ESG操作文档网站:ESG有个网站,是专门的操作文档网站,因为ESG三个环境,流程各不一样.地址:http://10.20.12.90:20567/esg-help-doc/2.E ...

  2. golang 中可变参数的个数

    package main import "fmt" func Greeting(prefix string, who ... string) { fmt.Println(prefi ...

  3. webpack-入口篇

    入口起点[Entry Points]: 单个入口(简写)语法 用法:entry: string|Array<string> 例子(webpack.config.js) const conf ...

  4. CentOS+Apache+php无法访问redis的解决方法 Redis server went away

    在CentOS下配置Apache+php+redis+phpredis环境.编辑访问redis缓存的php程序test.php,以应用程序方式在后台运行,可成功访问Redis,而在Apache下以网页 ...

  5. php把时间计算成几分钟前,几小时前,几天前的函数

    function time_tran($the_time){ $now_time = date("Y-m-d H:i:s",time()+8*60*60); $now_time = ...

  6. 2016/1/17 private public protected 权限练习

    package caipiao; private class Test0117 { private String title; public String actor; protected Strin ...

  7. frame pointer及其用途

    1 什么是frame pointer frame pointer指向本函数栈帧顶,通过它可以找到本函数在进程栈中的位置.有专门的寄存器保存该值. 2 frame pointer有什么用 主要是back ...

  8. Unity3D游戏,TCP,WEBCOSKT,HTTP通信架构 weaving-socket

    weaving-socket 详细介绍 项目简介 2017-8-8:新发布功能 增加U3D游戏客户的通讯项目支持,并提供示例内容. 2017-5-5: 新发布 weaving-socket 架构的.n ...

  9. Opencv+Zbar二维码识别(二维码校正)

    二维码和车牌识别基本都会涉及到图像的校正,主要是形变和倾斜角度的校正,一种二维码的畸变如下图: 这个码用微信扫了一下,识别不出来,但是用Zbar还是可以准确识别的~~. 这里介绍一种二维码校正方法,通 ...

  10. BZOJ_2424_[HAOI2010]订货_最小费用最大流

    BZOJ_2424_[HAOI2010]订货_最小费用最大流 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付 ...