function Tp(temp, dataarry) {
            return temp.replace(/\$\{([\w]+)\}/g, function(s1, s2) { var s = dataarry[s2]; if (typeof (s) != "undefined") { return s; } else { return s1; } });
        }

解决方案 »

  1.   

    http://www.jb51.net/w3school/js/jsref_replace.htm
    给你个w3school的看看吧
      

  2.   

    function Tp(temp, dataarry) {
          return temp.replace(/\$\{([\w]+)\}/g, function(s1, s2) { 
               var s = dataarry[s2]; 
               if (typeof (s) != "undefined") { 
                  return s; 
               } else { 
                  return s1; 
               } 
          });
      

  3.   

    上面replace里面那个函数具体是什么意思, 它让replace怎么工作
      

  4.   

    temp 是传进来的字符串,replace(a,b)是通过a这个正则表达式查找出来的内容,把这个内容替换成b字符串,一句话:也就是把temp这个字符串中匹配a的正则的字符串替换成b。而你上面的代码好像是 b的内容是由 dataarray来决定的,当s的类型不为undefined式 b=s;当s的类型为undefined的时候,b=s1;
      

  5.   


    谢谢,不过你的意思我没看太懂,但是s2应该是指正则表达式匹配到的内容在temp中出现的位置,相当于indexof