软件测试学习日志————round 0 An impressed error in my past projects
在初学各种语言时总会出现各种错误,比如main携程mian、忘了加各种库,打错字等等等等。虽然这些错误后面看来很幼稚,但是有的时候真的会让人印象很深刻。
在初学JavaScript时,我对JavaScript一级Ajax还不熟悉,在一个项目中,我想要A代码执行之后再执行B代码。B代码从数据库中得到数据并六个数据排序并赋色,
而A代码为数据库初始化。在执行时,我需要让A代码先执行,然后再执行B代码,但是赋色总是不成功。查了好多遍代码都没有解决,后来我突然想到,JavaScript
的代码执行是默认异步的,会不会是异步执行这两部分代码的原因呢?后来我找到了这个success函数,执行post成功之后再执行B代码,最后终于成功了。
1 $.post("/vis/initilization").success(//A代码 2 function(){//B代码 3 $.get("/vis/partValue",{filename:"kang"},function (d){ 4 5 var sdat = d.split(","); 6 var data = []; 7 var fdata ; 8 for(var i=0;i<12;i+=2){ 9 temp =[]; 10 temp.push(Number(sdat[i])); 11 temp.push(sdat[i+1]); 12 data.push(temp); 13 } 14 console.log(data); 15 fdata = data.sort(function(x,y){return x[0]-y[0];}); 16 console.log(data); 17 var step = ["#FFFFFF","#FFFFCC","#FFFF99","#FFFF66","#FFFF33","#FFFF00"]; 18 for(var i=1;i<=6;i++){ 19 document.getElementById("btn"+fdata[i-1][1]).style.backgroundColor=step[i-1]; 20 } 21 }); 22 } 23 );
这个error的原因是我对JavaScript的理解还不够,函数还不熟悉。这让我明白了自己平时的练习太少,只有多动手才能真正熟悉一门语言。