思路:正则表达式。首先使用全局正则表达式regex表示所有以http://、https://或者www.开始的链接,然后使用replace进行替换这些链接即可。重点在于regex的编写和replace的编写!!!

<script type="text/javascript">
   // 填写JavaScript
   function link() {
     var div=document.getElementById('jsContainer')
     // g表示全局  //表示正则表达式
     var regex= /(http(s)?:\/\/|www\.)[\w\.\?=&#%]+/g
     var text=div.innerHTML
     //match是字符串匹配部分 后者函数是动态替换字符串
     var res=text.replace(regex,function(match){
        var linktext
        if(match.startsWith("www"))
          linktext="http://"+match
        else
          linktext=match
        return `<a href=${linktext} target="_blank">${match}</a>`
     })
     div.innerHTML=res
    }
    link()
</script>

总结:/(http(s)?:\/\/|www.)[\w\.\?=&#%]+/g表示所有以http://、https://或者www.开始的链接,其中\w表示字母数字下划线 [A-Za-z0-9_],而.表示匹配任意单个字符?表示匹配0次或者1次/表示正则表达式,故其均需要加转义字符,g表示全局正则表达式。str.replace(searchValue, newValue)表示将字符串str中的旧字符串searchValue替换为新字符串newValue,其中第一个参数可以为正则表达式,如果是全局正则表达式则替换所有,反之则只替换第一个,其中第二个参数可以为函数,function(match){},其表示动态替换,match指的是当前与正则表达式匹配的内容。str.startsWith()是字符串函数,用于判断字符串是否是以某某开头。let match=new RegExp(p,'g')也是一种创建全局正则表达式的方法。注意顺序,string.match(regexp)方法和regexp.test(string)方法,前后颠倒。target="_blank"表示用于在新的浏览器标签或窗口中打开链接。