返回1的作用并在Javascript中返回0

时间:2013-11-08 18:26:14

标签: javascript

这是代码

function toDo(day){
 // 1. check IF day is saturday OR sunday
  if (day==="saturday"||day==="sunday"){
  // 2. return the weekendChore function    
      return weekendChore();
  }
  else{
  // 3. otherwise return the weekdayChore function.
      return weekdayChore();
  }
}
      // These are the functions we will return:
function weekendChore(){
  alert("Weekend: walk 9am, feed at 4pm, walk at 10pm");
  return 1;
}

function weekdayChore(){
  alert("Weekday: feed at 12pm, walk at 1pm");
  return 0;
}

我是Javascript的新手并且正在努力学习。我已经搜索过,并没有找到关于返回1的作用的正确解释,并在上面提到的代码中返回0。 你能解释一下吗?另外,你可以重播其他一些例子吗?感谢

2 个答案:

答案 0 :(得分:0)

这相当于

function toDo(day){
 // 1. check IF day is saturday OR sunday
  if (day==="saturday"||day==="sunday"){
  // 2. return the weekendChore function    
      weekendChore();
      return 1;
  }
  else{
  // 3. otherwise return the weekdayChore function.
      weekdayChore();
      return 0;
  }
}
      // These are the functions we will return:
function weekendChore(){
  alert("Weekend: walk 9am, feed at 4pm, walk at 10pm");
}

function weekdayChore(){
  alert("Weekday: feed at 12pm, walk at 1pm");
}

很难猜测01的实际用途。它们可能被调用toDo的代码使用。

答案 1 :(得分:0)

有时候能够尽快返回是很好的(特别是如果你经常使用一个功能)。我无法解释这里的某些情况,因为它们每次只被调用一次。

以下是一个例子,说明为什么它多次调用它是有用的:

var lastError;

function doStuff(username) {
    if (users.create(username)) {
        if (users[username].setActive(true)) {
            return true;
        } else {
            return setError('Could not set user to active');
        }
    } else {
        return setError('Could not create user');
    }
}

function setError(error) {
    lastError = error;
    return false;
}

if (registerUser('MyUser')) {
    alert('Yay!');
} else {
    alert('An error happened: ' + lastError);
}

..与此相比:

function doStuff(username) {
    if (users.create(username)) {
        if (users[username].setActive(true)) {
            return true;
        } else {
            lastError = 'Could not set user to active';
            return false;
        }
    } else {
        lastError = 'Could not create user';
        return false;
    }
}

这意味着我们每次需要设置错误时都要返回false(即使我们每次都这样做)。它真的只是更短。