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 允许一次批量输入多个内容,格式可以为数字.中文.英文等,可以通过用 ...
随机推荐
- DTRACE简介之完结篇3
https://blogs.oracle.com/swan/entry/dtrace%E7%AE%80%E4%BB%8B_3 DTRACE简介之完结篇 By samwan on 四月 13, 2007 ...
- tplink wr886n v5.0 ttl 接线方法
我的倒是有ttl信息,但是全是乱码,换过RX和TX,也换过串口速率都没用,附上TTL接线图. ==================================2016-11-02========= ...
- js中的封装、继承、多态
Javascript是一门解释型的语言,是基于对象的,并不是真正的面向对象的语言,对变量类型的应用也是宽松的,其实它同样可以模拟面向对象的功能: 1 function myfun1(){ 2 ...
- mysql复制延迟监控脚本
#!/bin/sh #ocpyang@126.com #repdelay.sh #查看复制延迟详细多少event #####1.juede the rep slave status export bl ...
- C++对象模型——指向Member Function的指针 (Pointer-to-Member Functions)(第四章)
4.4 指向Member Function的指针 (Pointer-to-Member Functions) 取一个nonstatic data member的地址,得到的结果是该member在 cl ...
- JavaScript基础 -- DOM
一.DOM全称 文档对象模型(Document Object Model) 二.DOM是什么 DOM可以说是制作动态页面的强有力工具.DOM不是JavaScript语言的一部分,而是内置在浏览器中的一 ...
- 【bzoj4443】[Scoi2015]小凸玩矩阵
第K大也就是第n-K+1小,所以就可以的二分答案了 (江哥讲过一道类似题) 二分答案找出比当前答案小的数的位置的坐标,判断一下是否可以选出满足不在同一行同一列的n-K+1个数,然后就可以跑匈牙利了,对 ...
- 解决jQuery uploadify在非IE核心浏览器下无法上传
之前上传了一个通过Flash实现多文件上传,但是在IE正常运行,FireFox 不能正常上传.经过反复研究学习,之所以firefox和360浏览器无法正常运行,是因为FireFox.chrome.36 ...
- 牛客网9.9比赛 C 保护
题目大意: n个城市构成一个树 m支军队 每只军队守卫 在xi到yi的最短路径上的城市 q个重要人物从vi出发 找到离根最近的点使从vi到这个点上所有路径都可以被至少ki个军队完全覆盖 输出每个答案的 ...
- 4.7.3 Canonical LR(1) Parsing Tables
4.7.3 Canonical LR(1) Parsing Tables We now give the rules for constructing the LR(1) ACTION and GOT ...