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 允许一次批量输入多个内容,格式可以为数字.中文.英文等,可以通过用 ...
随机推荐
- Nginx系列(五)--nginx+tomcat实现负载均衡
Nginx占有内存少,并发能力强,其实Nginx的并发能力确实在同类型的网页伺服器中表现较好.眼下中国大陆使用Nginx站点用户有:新浪,网易,腾讯等. 本文主要是基于Nginx搭建tomcat集群. ...
- X-pack-6.2.4破解
1.前言: X-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,虽然x-pack被设计为一个无缝的工作,但是你可以轻松的启用或者关闭一 ...
- Centos 备份 还原
備份: tar cvpzf backup.tgz / --exclude=/backup.tgz --exclude=/mnt 記得一定要排除備份文件本身哦! 還原: tar xvpfz backup ...
- AutoCAD如何添加网络打印机 添加公司打印机
1 请确认你已经连接了这台网络打印机,你没法打AutoCAD图纸,但是应该能打Word文档.能打Word文档说明你驱动装好了,通信也没问题,只是AutoCAD的配置不对导致的. 2 点击打印,打印 ...
- Eclipse的安装使用
1.从官网下载最新的Eclipse http://www.eclipse.org/downloads/
- c# Action,Func,Predicate委托
System命名空间下已经预先定义好了三中泛型委托,Action,Func和Predicate,这样我们在编程的时候,就不必要自己去定义这些委托了 Action是没有返回值的 Func是带返回值的 不 ...
- 关于The hierarchy of the type TestBeforeAdvice is inconsistent的问题
今天准备写一个spring aop的demo,创建了TestBeforeAdvice类,该类实现了MethodBeforeAdvice接口,eclipse报了"The hierarchy o ...
- NaN in JavaScript
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN The global NaN ...
- Spring 框架学习 —— 容器
容器是 Spring 框架的核心.Spring 容器使用 DI(依赖注入)机制管理构成应用的组件(类),所谓 DI,也即是其能够创建相互协作的组件(类)之间的关联(依赖). 1. 应用上下文(Appl ...
- 2010–2011, NEERC, Northern Subregional C.Commuting Functions
C.Commuting Functions 由于要求答案字典序最小,我们肯定希望从g(1)开始对函数g进行赋值,于是又公式f(g(x))=g(f(x)) 设f(x)=i 我们推导出 由于f是双射,当i ...