首先,是外鏈引入的JS,如果說我執意要把引入放在<head>的情況下
需要宣告一個變數能被全域使用,而這個變數是獲取網頁元素,有哪些方法能實作??
因為有好幾個函式都用到了這個變數,最簡單的辦法是每一個函式都宣告一次
我的嘗試:
window.onload=function () {
resultsVal = $("results").innerHTML;
等加載完了之后馬上宣告全域變數,但這種方法不行。
uj5u.com熱心網友回復:
難道沒有什么方法嗎?只能這樣重復的宣告變數嗎?uj5u.com熱心網友回復:
$("results").innerHTML如果里面的值一直在變化肯定不行,保存的只能是最開始的值。直接用變數保存這個dom然后.innerHTML才是最新的值 直接$("results").html()不就行了為啥要保存?uj5u.com熱心網友回復:
因為每個函式多次用到了 resultsVal.charAt resultsVal.substr resultsVal.length
[/face][/face]
uj5u.com熱心網友回復:
你的方法沒問題,但需要注意的是:resultsVal必須在window.onload事件函式外宣告為全域變數。
你是在window.onload事件中對resultsVal賦值的,如果你在window.onload事件觸發之前呼叫其它函式訪問resultsVal,當然就沒有值。
一般都是要在window.onload事件中對resultsVal賦值之后,再呼叫其它函式才能訪問到resultsVal的值,如:
var resultsVal;
window.onload=function () {
resultsVal = $("results").innerHTML;
//其它函式都要在這里呼叫。
}
uj5u.com熱心網友回復:
function getResHTML(){
return $("results").innerHTML
}
resultsVal = getResHTML() //每次用函式呼叫
uj5u.com熱心網友回復:
這么做,感覺并沒有方便多少
uj5u.com熱心網友回復:
是不是這種情況就只能每個函式里去宣告一個變數,或者說這么做,就已經很好了,沒有必要再去提升維護性了uj5u.com熱心網友回復:
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/
uj5u.com熱心網友回復:
感謝提供方法,我研究一下
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/149932.html
標籤:JavaScript
上一篇:資料獲取
