1.進入頁面默認顯示柱狀圖黍衙。選擇柱狀圖type后,更改日期默認顯示之前type的柱狀圖带兜。
在js中設(shè)置全局變量var tp="mzrc";
初始化函數(shù)中調(diào)用柱狀圖函數(shù)showColumn(tp)巴粪,
在showColumn函數(shù)中將每次調(diào)用時是喲給你的動態(tài)參數(shù)賦值給tp。
var tp="mzrc";
$(document).ready(function() {
.......
data_query();
});
function data_query(){
.......
showColumn(tp);
});
}
function showColumn(type){
tp=type;
......
});
}
js中定義全局變量有以下三種方法
1.在js的function外定義一個變量
var name='測試';
function XX(){
alert(name);
}
2.不使用var里逆,直接給定義變量,隱式的聲明了全局變量
name='測試';
function XX(){
alert(name);
}
這種方法用爪,即使該變量是在一個function內(nèi)原押,當該function被執(zhí)行后它變成了全局變量 ---- 但是function不執(zhí)行它就不被其他function知道,所以最好定義在function外偎血。
3.使用window.變量名定義為全局變量诸衔。但是要注意:調(diào)用時候建議寫上window.變量名,當然也可以不寫颇玷;我們常用的document.getXXX的document對象就是window的笨农。
window.name='測試';
function XX(){
alert(window.name);
}
全局變量的優(yōu)點:
可以減少變量的個數(shù),減少由于實際參數(shù)和形式參數(shù)的數(shù)據(jù)傳遞帶來的時間消耗帖渠。
全局變量的缺點:
(1)全局變量保存在靜態(tài)存貯區(qū)谒亦,程序開始運行時為其分配內(nèi)存,程序結(jié)束釋放該內(nèi)存。與局部變量的動態(tài)分配份招、動態(tài)釋放相比切揭,生存期比較長,因此過多的全局變量會占用較多的內(nèi)存單元锁摔。
(2)全局變量破壞了函數(shù)的封裝性能伴箩。函數(shù)象一個黑匣子,一般是通過函數(shù)參數(shù)和返回值進行輸入輸出鄙漏,函數(shù)內(nèi)部實現(xiàn)相對獨立。但函數(shù)中如果使用了全局變量棺蛛,那么函數(shù)體內(nèi)的語句就可以繞過函數(shù)參數(shù)和返回值進行存取怔蚌,這種情況破壞了函數(shù)的獨立性,使函數(shù)對全局變量產(chǎn)生依賴旁赊。同時桦踊,也降低了該函數(shù)的可移植性。
(3)全局變量使函數(shù)的代碼可讀性降低终畅。由于多個函數(shù)都可能使用全局變量籍胯,函數(shù)執(zhí)行時全局變量的值可能隨時發(fā)生變化,對于程序的查錯和調(diào)試都非常不利离福。因此杖狼,如果不是萬不得已,最好不要使用全局變量妖爷。
2.更改費用的單位為萬元蝶涩。
設(shè)置一個BigDecimal類型的臨時變量,使用BigDecimal的divide方法絮识。
BigDecimal jcfy_temp = (BigDecimal) map.get("JCFY");
**jcfy = jcfy_temp.divide( new BigDecimal(10000) , 2 , RoundingMode.HALF_UP ).toString() ; **
DecimalFormat對數(shù)值格式化的舍入問題——RoundingMode
3.下鉆表格顯示選擇日期及之前一年的數(shù)據(jù)绿聘,按時間正序。
string轉(zhuǎn)換成int型 :
cast('字符串型數(shù)字' as int)
sql 截取字符串 :
substring('要截取的字符串','開始截取的索引',截取的個數(shù))
String date1=(Integer.parseInt(nf_id.substring(1, 5))-1)+sj_id.substring(3,5); //201601
String date2=nf_id.substring(1, 5)+sj_id.substring(3,5); //201701
String sql="from TbCubeDxsbtj where yljg_id=?
**and ****substring(NF_ID,2,4)+substring(SJ_ID,4,2)>=?
**and **substring(NF_ID,2,4)+substring(SJ_ID,4,2)<=?
**order by **substring(NF_ID,2,4)+substring(SJ_ID,4,2)";
Query query=this.getSession().createQuery(sql);
query.setParameter(0, yljgdm);
query.setParameter(1, date1);
query.setParameter(2, date2);