首先,是外链引入的JS,如果说我执意要把引入放在<head>的情况下
需要声明一个变量能被全局使用,而这个变量是获取网页元素,有哪些方法能实现??因为有好几个函数都用到了这个变量,最简单的办法是每一个函数都声明一次我的尝试:
window.onload=function () {
    resultsVal = $("results").innerHTML;等加载完了之后马上声明全局变量,但这种方法不行。

解决方案 »

  1.   

    $("results").innerHTML如果里面的值一直在变化肯定不行,保存的只能是最开始的值。直接用变量保存这个dom然后.innerHTML才是最新的值 直接$("results").html()不就行了为啥要保存?
      

  2.   

    因为每个函数多次用到了  resultsVal.charAt   resultsVal.substr    resultsVal.length   [/face][/face]
      

  3.   

    你的方法没问题,但需要注意的是:
    resultsVal必须在window.onload事件函数外声明为全局变量。
    你是在window.onload事件中对resultsVal赋值的,如果你在window.onload事件触发之前调用其它函数访问resultsVal,当然就没有值。一般都是要在window.onload事件中对resultsVal赋值之后,再调用其它函数才能访问到resultsVal的值,如:
    var resultsVal;
    window.onload=function () {
        resultsVal = $("results").innerHTML;
        //其它函数都要在这里调用。
    }
      

  4.   


    function getResHTML(){
        return $("results").innerHTML
    }resultsVal = getResHTML()    //每次用函数调用
      

  5.   

    1.请求一次url,得到响应的js之后,把想要导出给别的地方使用的变量,导出为模块,随用随取,至于如何保持该变量不被释放,用闭包,这是ES5模块化的实现
    https://blog.csdn.net/qq_35532442/article/details/79955536
    2.考虑下webpack,先模块化开发,最好搭配ES6语法,然后bable转码,webpack打包成bundle.js,把这个js放script标签去。
    https://www.webpackjs.com/