Javascript 在If/Else中,您是否应该使用空白返回退出?
/*更新/ 我同意检查Javascript 在If/Else中,您是否应该使用空白返回退出?,javascript,angularjs,return,return-type,Javascript,Angularjs,Return,Return Type,/*更新/ 我同意检查newVal是否存在的答案。。。但是如果你不得不选择其中一个选项,那就是 邪恶? 我正在浏览一个教程,看到了下面使用的代码#1。我相信我有这个权利。。。如果传递了newVal更新数据库,则会发生什么情况。如果!不退出功能。我列出了我想到的变化。。。我的问题是什么是最好的使用,为什么或者有更好的方法没有列出 我正在做的教程是先将ng model message.text设置为数据库值,然后使用watch更新该值。这个我相信,newVal是在输入值之前阻止它更新。直接引用:“确
newVal
是否存在的答案。。。但是如果你不得不选择其中一个选项,那就是
邪恶?
我正在浏览一个教程,看到了下面使用的代码#1。我相信我有这个权利。。。如果传递了newVal
更新数据库,则会发生什么情况。如果!不退出功能。我列出了我想到的变化。。。我的问题是什么是最好的使用,为什么或者有更好的方法没有列出
我正在做的教程是先将ng model message.text设置为数据库值,然后使用watch更新该值。这个我相信,newVal是在输入值之前阻止它更新。直接引用:“确保新值不是未定义的,因为当页面加载新值时,将显示未定义的值。”
如果语句在可能的情况下使用肯定的话,那么就不会那么混乱了
$scope.$watch('message.text', function(newVal) {
if(newVal) {
childRef.update({
text: newVal
});
}
});
我将您的示例解释为:
如果不是newVal,什么也不做,如果不是newVal,做点什么
而我将我的示例解释为:
如果newVal做某事
更容易理解
============================
关于是否使用退货。这是不必要的,因为javascript将默认为
返回未定义代码>如果语句在可能的情况下应该使用肯定词,那么就不那么容易混淆了
$scope.$watch('message.text', function(newVal) {
if(newVal) {
childRef.update({
text: newVal
});
}
});
我将您的示例解释为:
如果不是newVal,什么也不做,如果不是newVal,做点什么
而我将我的示例解释为:
如果newVal做某事
更容易理解
============================
关于是否使用退货。这是不必要的,因为javascript将默认为返回未定义代码>您还可以执行以下操作:
$scope.$watch('message.text', function(newVal){
if (newVal) {
childRef.update({
text: newVal
});
}
});
这对我来说是最清楚的
在我看来,第一个只是“跳出”函数是一个糟糕的做法。我总是将代码的其余部分放在else分支中,因此代码更加结构化,很明显,代码的其余部分也是有条件的。这与函数编程密切相关。您还可以执行以下操作:
$scope.$watch('message.text', function(newVal){
if (newVal) {
childRef.update({
text: newVal
});
}
});
这对我来说是最清楚的
在我看来,第一个只是“跳出”函数是一个糟糕的做法。我总是将代码的其余部分放在else分支中,因此代码更加结构化,很明显,代码的其余部分也是有条件的。这与函数编程密切相关。甚至更短
$scope.$watch('message.text', function(newVal) {
newVal && childRef.update({
text: newVal
});
});
为了说明这一点,我使用短路返回(s)id进行了多次比较
但是这个
if (!newVal) {
return;
} else {
// do something
}
没有必要,因为返回结束继续。这样更好
if (!newVal) {
return;
}
// do something
甚至更短
$scope.$watch('message.text', function(newVal) {
newVal && childRef.update({
text: newVal
});
});
为了说明这一点,我使用短路返回(s)id进行了多次比较
但是这个
if (!newVal) {
return;
} else {
// do something
}
没有必要,因为返回结束继续。这样更好
if (!newVal) {
return;
}
// do something
如果必须选择一个,最好的是:
$scope.$watch('message.text', function(newVal){
if (!newVal) {
} else {
childRef.update({
text: newVal
});
}
});
我会说,如果在一个分支中使用return,那么在另一个分支中也使用return。纯粹的返回代码>语句感觉有点无用。如果您希望您的代码返回某些内容,那么您应该在每个分支中写入return
s,如果您不返回任何内容,那么我宁愿保留所有return
s。如果您必须选择一个,最好的是:
$scope.$watch('message.text', function(newVal){
if (!newVal) {
} else {
childRef.update({
text: newVal
});
}
});
我会说,如果在一个分支中使用return,那么在另一个分支中也使用return。纯粹的返回代码>语句感觉有点无用。如果您希望代码返回某些内容,那么您应该在每个分支中写入return
s,如果您不返回任何内容,那么我宁愿保留所有return
s。我不确定我是否理解这个问题。为什么不使用if(newVal){childRef…}?@LucasCordina我正在做的教程使用了!newVal先将ng model message.text设置为数据库值,然后使用watch更新该值。这个我相信,newVal是在输入值之前阻止它更新。我只是想知道你是否应该在其他人身上使用退货。我不确定我是否理解这个问题。为什么不使用if(newVal){childRef…}?@LucasCordina我正在做的教程使用了!newVal先将ng model message.text设置为数据库值,然后使用watch更新该值。这个我相信,newVal是在输入值之前阻止它更新。我只是想知道你是否应该使用其他人的回报。我完全同意你的答案。。。但是如果你必须选择其中一个选项,哪一个是较少的邪恶?我完全同意你的答案。。。但是,如果你不得不选择其中一个选项,哪一个是较少的邪恶?