Discuss / JavaScript / 整理多种解答方法

整理多种解答方法

Topic source

第一题

// for .. in ..
function sum(...rest) {
   var sum = 0;
   for (var i in rest){
       sum += rest[i]
}
    return sum
}

// for .. of ..
function sum(...rest) {
   var sum = 0;
   for (var i of rest){
       sum += i;
}
    return sum;
}

// forEach
function sum(...rest) {
   var sum = 0;
rest.forEach(function (item){
   sum += item;
})

return sum;
}

第二题

// 用判断变量
if (pi === undefined ){
   pi = 3.14
}

return pi * r * r ;

// 用判断长度的方法
if (arguments.length < 2 ){
   pi = 3.14
}

return pi * r * r ;

// 使用 || 

return (pi || 3.14) * r * r;

// 使用 ? 简洁写法
// 意思是说,如果 pi 有定义,则pi = pi,否则 pi = 3.14

pi = pi?pi:3.14;
return pi * r * r;

张悦寒a

#2 Created at ... [Delete] [Delete and Lock User]

为什么下面这样是不对的?

if (arguments === 1 ){
   pi = 3.14
}

张悦寒a

#3 Created at ... [Delete] [Delete and Lock User]

为什么不能删除啊?我知道了,条件是arguments.length===1


  • 1

Reply