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 允许一次批量输入多个内容,格式可以为数字.中文.英文等,可以通过用 ...
随机推荐
- openstack setup demo Overview
Overview openstack是一套开源的云计算部署平台,通过一系列service提供IAAS.每一个service都提供API.具体的service列表如下: dashboard Horizo ...
- 学习swift从青铜到王者之swift基础部分01
1.1 变量和常量 var 变量名称 = 值(var可以修改) let 常量名称 = 值(let不可以修改) 1.2 基本数据类型 整数类型和小数类型 两种基本数据类型不可以进行隐式转换 var in ...
- i18n国际化的例子
这个可以点击菜单进行中英文切换,每次切换就可以改变sessionStorage.languge,进行改变i18n的参数lang的值,然后重新调用下就可以了. 工程结构: i18n--| |---css ...
- 在Linux(centos)上安装PHP的mongodb扩展 成功试过的
到http://pecl.php.net/package/mongo下载相应的mongodb客户端,本例为1.2.1# wget http://pecl.php.net/get/mongo-1.2.1 ...
- Redis缓存数据库安全加固指导(二)
背景 在众多开源缓存技术中,Redis无疑是目前功能最为强大,应用最多的缓存技术之一,参考2018年国外数据库技术权威网站DB-Engines关于key-value数据库流行度排名,Redis暂列第一 ...
- 从编译器源代码中提取ARMv8的指令编码
2012年11月份的资料,之前ARMv8手冊还没公布,我想办法从编译器的binutils中提取出了全部ARMv8指令的二进制编码,之前不能随便发,如今相当于解禁了^_^. 问题1:提取ARMv8的指令 ...
- bzoj3550: [ONTAK2010]Vacation&&bzoj3112: [Zjoi2013]防守战线
学了下单纯形法解线性规划 看起来好像并不是特别难,第二个code有注释.我还有...*=-....这个不是特别懂 第一个是正常的,第二个是解对偶问题的 #include<cstdio> # ...
- YTU 2641: 填空题:静态成员---计算学生个数
2641: 填空题:静态成员---计算学生个数 时间限制: 1 Sec 内存限制: 128 MB 提交: 267 解决: 206 题目描述 学生类声明已经给出,在主程序中根据输入信息输出实际建立的 ...
- 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值
关于ExecuteNonQuery执行存储过程的返回值 用到过ExecuteNonQuery()函数的朋友们在开发的时候肯定这么用过. if(cmd.ExecuteNonQuery("xxx ...
- 【Codevs 2630】宝库通道
http://codevs.cn/problem/2630/ Solution 预处理f[i][j],代表第j列前i行的代价 枚举上下界,然后做最大子段和,g[i]代表选到第i列的代价, g[k]=( ...