FCC 基础JavaScript 练习4

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(12);

 

 

 

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 ,根据下面的表格返回正确的水平段位。

StrokesReturn
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.

 

posted @ 2017-12-02 20:54  萹豆  阅读(1162)  评论(0编辑  收藏  举报