(function() {
     var extUrl = (function() {var result=[];chj.getzgxcDeps().each(function(item){
       for(var i=0;i<chj.getzgxcReps(item).size();i++)
       var url = {};
       url.name = identity.getGroupName(item);
       url.url = chj.getzgxcReps(item)[i]+"&version="+form.ysbb;
       result.push(url);}},result);return result;})();
       form.extUrl=extUrl;
       audit.setVar('billdata',toJSON(form));})()  这样本来可以执行。
但是我改成:
function() {
     var extUrl = (function() {var result=[];chj.getzgxcDeps().each(function(item){
       for(var i=0;i<chj.getzgxcReps(item).size();i++)
       var url = {};
       var nurl=chj.getzgxcReps(item)[i];
       url.name = =chj.getzgxcMc(nurl);
       url.url = chj.getzgxcReps(item)[i]+"&version="+form.ysbb;
       result.push(url);}},result);return result;})();
       form.extUrl=extUrl;
       audit.setVar('billdata',toJSON(form));})()
就会报错syntax error!!!
说明下identity.getGroupName(item);返回是string型,而chj.getzgxcReps()返回是arraylist型的。chj.getzgxcMc返回是是arraylist型的。
       
       
       
       
       
       
          

解决方案 »

  1.   

    语法都错了
    function functionName() { 
        var extUrl = (function() {var result=[];chj.getzgxcDeps().each(function(item){ 
          for(var i=0;i <chj.getzgxcReps(item).size();i++) 
          var url = {}; 
          url.name = identity.getGroupName(item); 
          url.url = chj.getzgxcReps(item)[i]+"&version="+form.ysbb; 
          result.push(url);}},result);return result;})(); 
          form.extUrl=extUrl; 
          audit.setVar('billdata',toJSON(form));
    }调用functionName()跟你上面匿名调用效果一样
      

  2.   

    <key>script</key>
    <value><![CDATA[
    (function() { 
        var extUrl = (function() {var result=[];chj.getzgxcDeps().each(function(item){ 
          for(var i=0;i <chj.getzgxcReps(item).size();i++) 
          var url = {}; 
          var nurl=chj.getzgxcReps(item)[i]; 
          url.name = =chj.getzgxcMc(nurl); 
          url.url = chj.getzgxcReps(item)[i]+"&version="+form.ysbb; 
          result.push(url);}},result);return result;})(); 
          form.extUrl=extUrl; 
          audit.setVar('billdata',toJSON(form));})()]]></value>
      

  3.   

    先把代码排版,这是最基本的
    代码的可读性比什么都重要,语法问题往往是低级错误,如:看不到对称的括号。
    (function() {
        var extUrl = (function() {
            var result=[];
            chj.getzgxcDeps().each(
                function(item) {
                    for (var i = 0; i < chj.getzgxcReps(item).size(); i++) {
                        var url = {};
                        var nurl = chj.getzgxcReps(item)[i];
                        url.name = chj.getzgxcMc(nurl);
                        url.url = chj.getzgxcReps(item)[i] + "&version=" + form.ysbb;
                        result.push(url);
                    }
                }, result);
                return result;
        })();
        form.extUrl = extUrl;
        audit.setVar('billdata',toJSON(form));
    })() 
      

  4.   

    楼主你先把代码复制去调试看看有问题没再发言。括号包括{}、[](function() {
        var extUrl = (function() {var result=[];chj.getzgxcDeps().each(function(item){
          for(var i=0;i <chj.getzgxcReps(item).size();i++) // { 呢?
          var url = {};
          var nurl=chj.getzgxcReps(item)[i];
          url.name = =chj.getzgxcMc(nurl);
          url.url = chj.getzgxcReps(item)[i]+"&version="+form.ysbb;
          result.push(url);}},result);return result;})();
          form.extUrl=extUrl;
          audit.setVar('billdata',toJSON(form));})()