关于JS嵌套if语句的更好的解决方案
better solution about JS nesting if statement
假设我的html中有3个div。Id为:
- stepone
- 第二步
- 第三步
我想首先在steponediv上从服务器加载json数据,如果返回值为"1",则在steponediv.上打印良好
然后在steptwo-div上加载数据,数据也是json。所以基本上这就是过程,下面是我的代码:
$(document).ready(function(){
var loadingone = $.post("stepone.php");
.done(function(dataone){
objone = JSON && JSON.parse(dataone) || $.parseJSON(dataone); //get json return from server
if (objone.status == "1") {
$("#stepone").html("good");
var loadingtwo = $.post("steptwo.php")
.done(function(datatwo){
objtwo = JSON && JSON.parse(datatwo) || $.parseJSON(datatwo);
if (objtwo.status == "1"){
$("#steptwo").html("good");
}
else
{
$("#steptwo").html("bad");
}
});
}
else
{
$("#stepone").html("message" + objone.codeurl);
}
});
});
所以,正如您所看到的,代码包含嵌套的if语句,它看起来不太清楚。我想知道是否有更好的解决方案?thx===更新数据===这是我编辑后的代码,对吗?
var loadingone = $.post("stepone.php");
.done(function(dataone){
objone = JSON && JSON.parse(dataone) || $.parseJSON(dataone);
if (objone.status != "1"){
$("#stepone").html("bad" + objone.codeurl")
}
else{
$("#stepone").html("good");
var loadingtwo = $.post("steptwo.php");
.done(function(datatwo){
objtwo = JSON && JSON.parse(datatwo) || $.parseJSON(datatwo);
if (objtwo.status != "1"){
$("#steptwo").html("bad");
}
else
{
$("#steptwo").html("good");
}
}
}
否定表达式。
而不是遵循这样的模式:
if A {
if B {
if C {
do stuff
}
else error C
}
else error B
}
else error A
试试这个:
if !A {
error A
return
}
if !B {
error B
return
}
if !C {
error C
return
}
do stuff
通过这种方式,您可以将错误保留在各自的条件下,并避免深度嵌套。
相关文章:
- 更好的解决方案HTML元素幻灯片从右侧CSS转换
- 寻找使用Javascript从Kendo UI时间选择器中减去时间的更好替代方案
- 将数据加载到地图上的更好解决方案
- AngularJS中的动态表单验证 - 是否有更好的解决方案/方法
- 使用Jquery处理大量点击事件的更好解决方案
- 将对象完全转换为键和值的数组:更好的解决方案
- 为静态类型检查注释javascript的好解决方案是什么
- 比“类似回调的行为”更好的解决方案
- setTimeout 是使用 javascript 执行异步函数的好解决方案吗?
- 如何为此 jquery 代码使用函数参数,或者是否有更好的解决方案
- 有没有更好的解决方案
- 谷歌地图API V3,这是将标记捕捉到道路的好解决方案吗?
- 通过ssl请求传递凭据是不安全的,什么'是更好的(KISS)解决方案
- 在数组中查找单元格的更好解决方案
- 改进这个自定义函数addClassIfVarDefined()或共享更好的解决方案
- 卸载/重新加载javascript或用于大量ajax内容的更好的解决方案
- 需要一个更好的解决方案来从JavaScript文件附加HTML
- 标题大小写一个句子 - 哪个解决方案更好,为什么
- Regex从URL中提取匹配的字符串(有效,更好的解决方案?)
- 用于取消约束对象阵列的更好解决方案