Educoder JS函数

第1关:用函数语句定义函数

(1)用函数语句定义一个函数
定义一个名字为mainJs()的函数;该函数有两个参数,均为字符串类型;函数的功能是返回这两个参数的拼接结果;
function mainJs(a,b){
return a+b;
}

第2关:用表达式定义函数

(2)定义一个匿名函数,将它赋值给变量myFunc;该函数实现求一个三位数的各个位上的数字之和,比如123各个位上的数字分别为1、2和3,和是6
function mainJs(a) {
a = parseInt(a);
//请在此处编写代码
/********** Begin **********/
var myFunc=function(a){

		var b=a/100;
		 var c=(a%100)/10;
		var d=a%10;
		return a+b+c;
}   
/********** End **********/
return myFunc(a);

}

第3关:函数的调用

(3)mainJs()代码区上面定义了三个函数,从上到下分别编号为1、2和3;mainJs()有三个参数a、b和c,根据a的值(函数的编号,可取的值是1、2和3)调用相应的函数(可选的函数分别是getMax()、getMin()和getSum(),具体请参考代码!),并传入参数b和c,返回得到的结果;比如a为1表示你需要调用函数getMax()
//求最大值的函数
function getMax(b,c) {
return b>c?b:c;
}

//求最小值的函数
var getMin = function(b,c) {
return b>c?c:b;
}

//对象中的求和函数
var myObject = {
id:1,
name:“function”,
myFunc:function(b,c) {
return b+c;
}
}

function mainJs(a,b,c) {
a = parseInt(a);
b = parseInt(b);
c = parseInt©;
//请在此处编写代码
/********** Begin **********/
if(a1){
return getMax(b,c);
}
if(a
2){
return getMin(b,c);

}
if(a==3){
return myObject.myFunc(b,c);
}

/********** End **********/

}

第4关:未定义的实参

(4)路口有四个方向的红绿灯,其默认值分别是green、green
、red和yellow;对于函数mainJs(a,b,c,d)的四个参数,要求在没有传入实参或者传入undefined时,其分别设置为上述默认值;最后返回四个字符串型参数的拼接结果,字符串中间用-符号隔开,如分别传入red、red、yellow和undefined时,返回red-red-yellow-yellow;
function mainJs(a,b,c,d) {
//请在此处编写代码
/********** Begin /
if(aundefined){
a=“green”;
}
if(b
undefined){
b=“green”;
}
if(cundefined){
c=“red”;
}
if(d
undefined){
d=“yellow”;
}
var ds=a+"-"+b+"-"+c+"-"+d;
return ds;
/
End **********/
}

第5关:实参对象

(5)编写一个计算若干个数的最大值的程序
定义函数getMax();该函数计算并返回一组整数的最大值;整数的个数不确定;如果整数个数为0,直接返回0
//请在此处编写代码
/********** Begin **********/
function getMax(){
var alength=arguments.length;
var max=0;
for(var i=0;i<alength;i++){
if(max<arguments[i]){
max=arguments[i];
}
}return max;

}

/********** End **********/

function mainJs(a) {
a = parseInt(a);
switch(a) {
case 1:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123);
case 2:return getMax(23,21,56,34,89,34,32);
case 3:return getMax(23,21,56,34);
case 4:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123,8888);
case 5:return getMax();
default:break;
}
}

第6关:对象作为参数

(6)函数objcetFunction()的参数是一个对象,该函数的功能是返回属性名1+’:’+属性值1+’,’+属性名2+’:’+属性值2+’,’+…+属性值n+’,’;测试的时候我们会往mainJs()传入参数1或2或3,分别表示调用函数objectFunction()并传入对象参数park、computer或者city;比如对于第一个对象park,该函数需要返回name:Leaf Prak,location:Fifth Avenue,todayTourists:4000,;
var park = {
name:“Leaf Prak”,
location:“Fifth Avenue”,
todayTourists:4000
};

var computer = {
name:“Levenon”,
price:"$800",
memory:“8G”
};

var city = {
name:“HangZhou”,
country:“Chine”,
population:9400000
}

function objectFunction(object) {
//请在此处编写代码
/********** Begin /
if(objectpark)
{
return “name:”+object.name+",location:"+object. location+",todayTourists:"+object. todayTourists+",";
}
else if(object
computer)
{
return “name:”+object.name+",price:"+object.price+",memory:"+object. memory+",";
}
else if(object==city)
{
return “name:”+object.name+",country:"+object.country+",population:"+object.population+",";
}
/
End **********/
}

function mainJs(a) {
a = parseInt(a);
switch(a) {
case 1:return objectFunction(park);
case 2:return objectFunction(computer);
case 3:return objectFunction(city);
default:break;
}
}

第7关:函数对象

(7)已知getOddNumber(a)求数组a中奇元素的个数,getEvenNumber(a)求数组a中偶元素的个数;完成函数getNumber(func,a),实现:根据函数参数func的不同,求数组a中奇元素的个数或者偶元素的个数;上一条提到的func的值只有可能是getOddNumber或者getEvenNumber
//求数组中奇数元素的个数
function getOddNumber(a) {
var result = 0;
for(var i = 0;i < a.length;i++) {
if(a[i]%2 != 0)
result++;
}
return result;
}

//求数组中偶数元素的个数
function getEvenNumber(a) {
var result = 0;
for(var i = 0;i < a.length;i++) {
if(a[i]%2 == 0)
result++;
}
return result;
}

function getNumber(func,a) {
//请在此处编写代码
/********** Begin **********/
if(funcgetOddNumber){
return getOddNumber(a);
}
if(func
getEvenNumber){
return getEvenNumber(a);
}

/********** End **********/

}

//测试接口
function mainJs(b,a) {
a = a.split(",");
var aLength = a.length;
for(var i = 0;i < aLength;i++) {
a[i] = parseInt(a[i]);
}
if(b == “getEvenNumber”) {
return getNumber(getEvenNumber,a);
} else {
return getNumber(getOddNumber,a);
}
}

觉得有帮助的同学帮博主点点关注,谢谢您们!!!

猜你喜欢

转载自blog.csdn.net/Junds0/article/details/106356352