这是代码
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。 你能解释一下吗?另外,你可以重播其他一些例子吗?感谢
答案 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");
}
很难猜测0
和1
的实际用途。它们可能被调用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(即使我们每次都这样做)。它真的只是更短。