Javascript没有完全执行

时间:2015-08-12 12:04:12

标签: javascript

这些是我写的javascript函数

output:-

test1
regular====vesselsExpandDown====vesselsExpandUp
First Time
regular
1
test2
composite====vesselsExpandDown====vesselsExpandUp

代码执行以下消息顺序: -

.setItems(R.array.difficulties ...

然而,在此之后它会执行,可能是什么问题..

............................................... .................................................. ................................................. < / p>

3 个答案:

答案 0 :(得分:0)

您必须确保条件:

if(vesselCount>0){
...
}

是真的。也许添加一个else语句澄清执行:

else {
confirm("vesselCount==0 in " + tableId );
}

答案 1 :(得分:0)

首先请选择一种编码风格并坚持下去。中间的切换样式很难阅读。此外,大多数人发现很难读取没有空格的代码。 Itisliketryingtoreadthissentence。例如:

if(foo=="bar"){

更容易阅读:

if (foo === "bar") {

(我使用三===因为它会更频繁地执行您想要的事情==。请参阅Douglas Crockford's Code Conventions for the JavaScript Programming Language)。

查看the w3c's JavaScript best practices,了解一个好的起点。

接下来你的第一个if语句说

IF the first argument (called "type") MATCHES the string "regular"
THEN output "First Time".
HOWEVER, if the previous condition is NOT met AND the "type" MATCHES the string "composite"
THEN output "Second Time".
OTHERWISE if neither of those two thing happen above
THEN no nothing and confuse the programmer further.

由于“第二次”从未打印过,因此可以安全地假设单词复合 错误

这进一步证实了代码中的输出:

confirm(type+"===="+div1+"======="+div2);

7 = 符号,但输出:

composite====vesselsExpandDown====vesselsExpandUp

只有 4 = 符号,并且∴提供的代码产生输出的代码。

答案 2 :(得分:-1)

切换此代码:

if(type=="regular"){
    confirm ("First Time");
    tableId = "vesselsTable";
}else if(type=="composite") {
    confirm ("Second Time");
    tableId = "compositeVesselsTable";
}

要:

switch(type){
    case "regular":
        confirm ("First Time");
        tableId = "vesselsTable";
         break;
    case "composite":
        confirm ("Second Time");
        tableId = "compositeVesselsTable";
        break;
    default:
        alert('Invalid type ' + type);
        return false;
} 

要使该部分清洁,并且您在保存方面使用该类型。

然后检查此变量

var vesselsTable = document.getElementById(tableId);

具有预期的类型和预期的属性行