jquery局部變量和全局變量的錯誤
阿新 • • 發佈:2019-05-03
rtp 變量名 dom param 讀取 show klist function _id
自定義函數中的局部變量每次觸發時加載一次
$("#pageSize").on("change",function(){ //變量名必須放在事件方法內部,不然變量只會在加載時讀取一次!!! var startPage = $("#startPage").val() var pageSize = $("#pageSize").val() var bookID = $("#bookID").val() var bookName = $("#bookName").val() var ftype_id = $("#Ftype").val() var stype_id = $("#Stype").val() var params = {"doWhat":"queryBookListByParams","startPage":startPage,"pageSize":pageSize, "bookID":bookID,"bookName":bookName,"ftype_id":ftype_id,"stype_id":stype_id,}; showbooklist(params); })
這些局部變量只在加載是讀取一次。
$(function() { var startPage = $("#startPage").val() var pageSize = $("#pageSize").val() var bookID = $("#bookID").val() var bookName = $("#bookName").val() var ftype_id = $("#Ftype").val() var stype_id = $("#Stype").val() })
$(function(){ }是$(document).ready(function()的簡寫,相當於window.onload = function(){ } ,
window.onload是在頁面所有的元素都加載完成後才觸發
$(function(){})是在頁面的dom結構加載完畢後就觸發 dom裏的內容不一定都已經加載完成
比如說一個頁面有好多圖片 而加載這些圖片需要一定的時間
window.onload必須得等到全部的圖片都加載完成後才能觸發
而$(function(){})只要在dom加載完畢之後就會執行 圖片不一定已經加載完成
二者的區別
1:執行時機不一樣
$(function() { } )是在dom結構創建完成以後就執行,window.onload是在整個頁面加載完成之後(包括頁面上的資源,比如圖片)才執行
2:執行次數不一樣:
$(function() { } )不管你jsp引入的js裏定義了幾個,會按照順序依次執行,而window.onload只會執行最後一個,之前的會被覆蓋掉
jquery局部變量和全局變量的錯誤