房产网站建设的目的,百度站长工具域名查询,搜索各大网站,做代理目录
任务描述
相关知识
严格相等
switch语句
编程要求 任务描述
北美五大湖的名称和面积如下#xff1a;
名称面积(平方公里)Superior82414Huron59600Michigan58016Erie25744Ontario19554
本关任务#xff1a;根据面积判断湖泊的名字。
相关知识
上一关讲解的是拥…目录
任务描述
相关知识
严格相等
switch语句
编程要求 任务描述
北美五大湖的名称和面积如下
名称面积(平方公里)Superior82414Huron59600Michigan58016Erie25744Ontario19554
本关任务根据面积判断湖泊的名字。
相关知识
上一关讲解的是拥有少数分支的if-else结构实际开发的过程中还会遇到多分支的情况比如根据电话号码判断运营商如果用if-else型条件语句代码会很长而且难以理解。所幸的是JavaScript提供了另外一种选择结构switch语句。
严格相等
在了解switch语句之前先要知道严格相等的概念严格相等的符号为。
对于JavaScript中的内置数据类型如数字字符串布尔型等。严格相等要求比较双方的数据类型和值都相等而相等只要求比较双方的值相等因为可以进行数据类型转换。例子如下
var string 1;
var number1 1;
var number2 1;
console.log(string number1);
console.log(number1 number2);
输出结果
false
true
对于JavaScript中的对象类型严格相等要求双方的引用相同即必须是同一个对象。如果不是同一个对象即使双方的属性、值都相同也被认为不等比如下面的例子
var class1 {
id:251,
name:class
}
var class2 {
id:251,
name:class
}
var class3 class1;
console.log(class2 class1);
console.log(class3 class1);
输出结果
false
true
虽然class1和class2的属性名、属性值都相等但是不满足严格相等因为它们是不同的对象指向内存的不同地方。而class3和class1严格相等因为它们指向内存的同一个地方。
switch语句
switch是一种多分支的选择结构采用等值判断如下是结构图其中T表示条件成立F表示条件不成立箭头表示语句的执行方向。 switch语句的语法如下
switch(表达式)
{case 值1:语句1;break;case 值2:语句2;break;case 值3:语句3;break;default:语句;break;
}
括号中的表达式计算后会得到一个值该值会从上到下依次与case关键字后面的值比较如果满足严格相等则执行相应case后面的语句如果与所有的值都不满足严格相等则执行default关键字后的语句。
当和case后面的某一个值完成匹配并执行完语句后需要用break结束整个的switch选择否则会与后面的继续匹配。
//函数方法根据身份证号前两位判断所在省份
function judgeProvince(idCard) {switch(idCard) {case 31:console.log(上海);break;case 32:console.log(江苏);break;case 33:console.log(浙江);break;case 34:console.log(安徽);break;case 35:console.log(福建);break;case 36:console.log(江西);break;case 37:console.log(山东);break;default:console.log(未知);break;}
}
//调用上面的函数
judgeProvince(36);//输出“江西”
如果不加break代码会从满足switch条件的地方开始执行一直执行到最后不符合的case后面的语句也会被执行。
下面的例子根据输入的分数计算绩点GPA
//函数方法根据百分制的成绩计算GPA
function calGrade(grade) {grade parseInt(grade/10);//除以10后取整数var gpa;switch(grade) {case 10://注意这后面没有breakcase 9: gpa 4;break;//90到100均为4case 8: gpa 3;break;case 7: gpa 2;break;case 6: gpa 1;break;default: gpa 0;break;}return gpa;
}
//调用上面的函数
console.log(calGrage(100));//输出4
当grade为10的时候没有break会往下一直执行执行到grade为9的时候有break会终止switch语句块此时 gpa被赋值4所以90到100分的返回值都是4。
编程要求
本关的编程任务是补全右侧代码片段中Begin至End中间的代码具体要求如下 根据面积参数a返回湖泊的名字湖泊的名称和面积的对照表在最上面的任务描述里面这里不再赘述 没有对应的湖泊返回error
function mainJs(a) {a parseInt(a);//请在此处编写代码/********** Begin **********/var s error;switch (a) {case 82414: s Superior; break;case 59600: s Huron; break;case 58016: s Michigan; break;case 25744: s Erie; break;case 19554: s Ontario; break;}return s;/********** End **********/
}