Javascript返回undefined

时间:2014-12-02 13:58:56

标签: javascript jquery angularjs

我在javascript上使用String操作,我是JS的新手。这是我的代码。

function updateCLOB(row) {
  var attrStr = row.get('CLOB_DATA');

  if (attrStr == null && attrStr == undefined) {
    return row;
  } else {
    var res = attrStr.split('||');

    for (i = 0; i < res.length; i++) {
print('RES'=res[i]);
      var temp = res[i].split('/');
      var column = temp[4];
      var value = temp[12];
      row.put('WORKODR_' + column, value);
      print('WORKODR_' + column + ' is ' + value);
    }
  }
  return row;
}

我的Clob数据将是212323/2 / January / 3/4/5/6/7/1/3/3/4/5sd/123/45/56 || ........ ....

现在我在输出中得到“未定义”。

WORKODR_undefined未定义。

请让我知道我失踪了什么。

我尝试打印“res”值并将其打印为

RES2
RES1
RES2
.
.
.

它对每个角色的分裂。为什么会这样?

4 个答案:

答案 0 :(得分:0)

此:

if(attrStr==null && attrStr==undefined){

应该是:

if(attrStr!=null && attrStr!=undefined){

我假设您要确保它不是null并且未定义如果您拥有的条件永远不会被满足它不能为null且未定义...

答案 1 :(得分:0)

尝试使用:

if(attrStr!=null && typeof(attrStr)!='undefined'){

答案 2 :(得分:0)

而不是

if (attrStr == null && attrStr == undefined) {

尝试使用

if (!attrStr) {

条件对null,undefined和零长度字符串有效。

答案 3 :(得分:0)

我找到了问题,问题出在||。因为我从一个java应用程序调用这个JS,我认为管道的转义是mandotary。

我用过     var res = attrStr.split('\ | \ |');瞧它工作了!