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();
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".!=)与相等运算符是相反的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"yTest("bob") 应该返回 "Not Equal"!==)与全等运算符是相反的>)来比较两个数字。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"大于等于 运算符(>=)来比较两个数字的大小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.if、else 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!" |
par 和 strokes 必须是数字而且是正数
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后面的语句根本不会执行
任务
修改函数abTest当a或b小于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的更多相关文章
- FCC 基础JavaScript 练习7
1. Math.random()用来生成一个在0(包括0)到1(不包括1)之间的随机小数,因此Math.random()可能返回0但绝不会返回1. 提示随后的函数都会在return执行前调用,所以我们 ...
- FCC 基础JavaScript 练习6
1.对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的, 对象适合用来存储结构化数据,就和真实世界的对象一模一样,比如一只猫. 任务 创建一个叫做myDog的对象,它里 ...
- FCC 基础JavaScript 练习2
1. 引号不是字符串中唯一的可以被转义字符.下面是常见的转义序列列表: \' 单引号 \" 双引号 \\ 反斜杠符 \n 换行符 \r 回车符 \t 制表符 \b 退格符 \f 换页符 ...
- FCC 基础JavaScript 练习1
1.JavaScript中的注释方式有以下两种 // This is an in-line comment. /* This is a multi-line comment */ 2.avaScrip ...
- FCC 基础JavaScript 练习5
在赌场21点游戏中,玩家可以通过计算牌桌上已经发放的卡牌的高低值来让自己在游戏中保持优势,这就叫21点算法. 根据下面的表格,每张卡牌都分配了一个值.如果卡牌的值大于0,那么玩家应该追加赌注.反之,追 ...
- FCC 基础JavaScript 练习3
1.通过使用提供的变量参数:名词myNoun.形容词myAdjective.动词myVerb.副词myAdverb,来创建一个新的句子 result, function wordBlanks(myNo ...
- 回归基础: JavaScript 变量提升
from me: javascript的变量声明具有hoisting机制,它是JavaScript一个基础的知识点,也是一个比较容易犯错的点,平时在开发中,大大小小的项目都会遇到. 它是JavaScr ...
- js基础--javaScript数据类型你都弄明白了吗?绝对干货
欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...
- 基础JavaScript练习(三)总结
任务目的 实践JavaScript数组.字符串相关操作 任务描述 基于任务四进行升级 将新元素输入框从input改为textarea 允许一次批量输入多个内容,格式可以为数字.中文.英文等,可以通过用 ...
随机推荐
- Elasticsearch学习系列之配置文件详解
################################### Cluster ################################### #定义集群名称,默认是elasticse ...
- TCP_NODELAY和TCP_CORK nagle算法和cork算法
TCP_NODELAY 默认情况下,发送数据採用Nagle 算法.这样尽管提高了网络吞吐量,可是实时性却减少了,在一些交互性非常强的应用程序来说是不同意的.使用TCP_NODELAY选项能够禁止Nag ...
- 搭建wamp php环境
点击下载wamp,wamp是一个集成环境,在安装过程中,我们要选择默认的浏览器以及默认的文本编辑器,安装步骤如下: 第一步,选择默认的浏览器(填写默认的浏览器可执行路径就行) 第二步,选择默认的文本编 ...
- 怎样用ccache加速cocos2d-x android版本号的编译
下面步骤在MAC下測试通过: 首先是安装CCache, 能够用homebrew brew install --HEAD ccache 也能够用源代码安装 git clone https://githu ...
- 比真机还快的Android模拟器——Genymotion
比真机还快的Android模拟器--Genymotion ----转载请注明出处:coder-p ...
- 重构——Martin Fowler 阅读笔记
重构的第一步: 为即将修改的代码建立一组可靠的测试环境. 和任何重构手法一样,当提炼一个函数时,我们必须知道可能出什么错. 安全步骤: 首先在一个函数内找到局部变量和参数.任何不会被修改的变量都可以被 ...
- js图片懒加载(滚动加载)判断是否生效
一.什么是懒加载? 对未出现在视野范围内的图片先不进行加载,等到出现在视野范围才去加载. 二.为什么使用懒加载? 懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数. 理论性知识大家都有自 ...
- 在弱网传输的情况下,是怎么做到节约流量的(面试小问题,Android篇)
立即毕业了,在毕业之际.我辞掉了曾经的实习工作,主要是工作内容不太感兴趣.近期在找工作.主要是找Java和Android方面的工作.自以为学得不错.可是面试屡屡受挫. 先提一下问到的一些问题吧. 第一 ...
- cocos2dx游戏开发学习笔记2-从helloworld開始
一.新建project 具体安装和新建project的方法在cocos2dx文件夹下的README.md文件里已经有具体说明,这里仅仅做简介. 1.上官网下载cocos2dx-3.0的源代码.http ...
- springMVC之异常处理
1. 自己定义一个异常类: UserException.java public class UserException extends RuntimeException { private stati ...