JavaScript使用点滴

JavaScript使用点滴

 

一、字符串替换的小插曲

 

遇到一个小插曲,想要把后台返回的字符串输出给前端视图,字符串中包含\n换行,需要使用javascript对其进行替换成<br />。

if(o){
  console.log(o);

  var str= o.replace(/\n/g, "<br />");

  /*var node=document.createElement("div");
  var textnode=document.createTextNode(str);
  node.appendChild(textnode);
  document.getElementById('add_info').appendChild(node);*/

  $("#add_info").append(str);

  if(str.indexOf("all rsync done") > 0 ){
   clearInterval(tim);
   /*var node=document.createElement("div");
   var textnode=document.createTextNode("=====同步完成!======");
   node.appendChild(textnode);
   document.getElementById('sync_done').appendChild(textnode);*/
   $('#sync_done').append('=====同步完成!======')
  }
}

  

 注释的部分是使用原生的javascript代码,最后输出到页面中的结果是仅仅把字符串中的\n换成了<br />,并没有真正的转义。后来使用jQuery进行实现,最终成功实现换行,这也许是javascript的bug。

 

二、关于轮询函数setInterval()

起初,在setInterval函数的第一个参数使用了一些基本的类似与alert的函数语句,运行时ok的,但是加了一些复杂的语句功能之后运行时报错,提示匿名函数使用有问题。后来第一个参数直接使用function来包含,这也就是一个匿名函数了,结果正常。这说明该函数的第一个参数最后使用匿名函数,否则容易出漏子。这种使用情形同样适用于setTimeout()函数。

var tim = setInterval(function(){
      self.showProgress(version_id);
    },2000);//延时2秒

  

 

 

 

 

 

----未完待续-----

posted @ 2017-02-28 10:41  当归远志  阅读(186)  评论(0编辑  收藏  举报