原生js实现动态加载js文件?

x33g5p2x  于2022-04-11 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(419)

一、写在前面
今天拼多多笔试题,题目如下:

实现一个动态加载函数function loadScript(src, attrs)返回Promise, 其中
src是脚本地址,attrs是脚本属性。

二、具体实现

<script>
    function loadScript(src, attrs) {
      return new Promise((resolve, reject) => {
        try {
          let scriptEle = document.createElement('script')
          scriptEle.type = 'text/javascript'
          scriptEle.src = src
          for (let key in attrs) {
            scriptEle.setAttribute(key, attrs[key])
          }
          scriptEle.addEventListener('load', function () {
            resolve('成功')
          })
          document.body.appendChild(scriptEle)
        } catch (err) {
          reject(err)
        }
      })
    }
    loadScript('http://cdn.staticfile.org/jquery/1.6.2/jquery.min.js', {async: true}).then(res => {
      console.log(res)
    })
  </script>

相关文章