var tmp = index.split('_')[1];
alert("进入JS");
alert(emp);//有两种情况 一个是有值 一个是undefined
if(tmp==undefined)
{
index = "DelED";
}else
{
index = emp;
}
alert("通过--值");        //如果等于undefined则会正常进行 如果有值不等于undefined则不往下进行 
alert(index);我只想判断 当我拿值的时候是undefine就给个DelED 如果有值就正常赋值 不知道说的够不够明白
两个IF,ELSE IF , 不同顺序都实验过 都不能在有值的情况下进行
请教为什么?如何才能解决这个问题
分少了点
先在此先行谢过

解决方案 »

  1.   

    如果只是为了判断true和false,完全没变要用==undefined来判断,直接用f(tmp),undefined本身就是false
      

  2.   

    var tmp = index.split('_')[1];
    var index;
    alert("进入JS");
    alert(emp); //有两种情况 一个是有值 一个是undefined
    if (tmp) {
        index = emp
    } else {
        index = "DelED";
    }
    alert(index);
      

  3.   


    说的没错 不过都是同样的道理 即使用if(tep),当有值的时候 它也不会继续往下执行 不知道为何 因为我判断后 还有后续代码 如果不执行 则失去意义
      

  4.   


    如果true的话 结束if()else 最后的alert(index);不会执行
    后续JS也不会执行 此处是为何?我的问题就在这个地方 有没有值 都会执行IF ,ELSE 内部脚本 没值的情况则能执行后续JS脚本  有值的情况执行完else括号体内的脚本后 不再执行后续脚本
      

  5.   

    tmp 和 emp 是不是同一个变量... 如果不能执行 应该先检查赋值前后index的值
      

  6.   

    var tmp = index.split('_')[1];
    var index;
    alert("进入JS");
    alert(tmp ); //有两种情况 一个是有值 一个是undefined
    if (tmp) {
        index = tmp 
    } else {
        index = "DelED";
    }
    alert(index);
      

  7.   


    var tmp = index.split('_');
    var index = "";
    alert("进入JS");
    alert(tmp);//有两种情况 一个是有值 一个是undefined
    if(tmp < 2)//用长度判断即可
    {
    index = "DelED";
    }else
    {
    index = tmp[1];
    }
    alert("通过--值"); //如果等于undefined则会正常进行 如果有值不等于undefined则不往下进行
    alert(index);