调试了半天,全都是复制代码惹得祸!
??? 上次由于一個'\t'讓我郁悶了半天,本以為自己已經在debug的時候很小心了,沒有想到今天又載了一會。錯誤非常之低級,而debug費力又還非常之大,真是讓人哭笑不得。所以干脆在blog的隨筆里專門開辟一個叫"Debug中的滑鐵盧"的分類,專門記錄Debug時一些stupid的小事。
??? 其實Coding是挺枯燥的,這個我在說Whidbey的Snippets功能時就說過,而且特別是重復的Coding,更是讓人煩躁。但是不管枯燥也好煩躁也罷,還是要寫不。這時我們常常也會學學網站編輯,動用動用Ctrl+C & Ctrl+V大法。這不手藝欠佳,今天我就載在這個Ctrl+C、V上了,看來注定當不成網站編輯了(就這追求啊,浪費了我這么多時間看你這么些天瞎擺活了!)。
????今天這個問題其實超級的簡單,真是too simple, too young ...,我在GetShowTab()方法前定義了兩個方法,我寫成這樣的:
?{
?};
?DimTreeTab.prototype.ShowSearchMember?=?function()
?{
?};
?DimTreeTab.prototype.GetShownTab?=?function()
?{
? ???if?(?this.m_Panels[0].m_Element.style.display?==?'inline'?)
?? ??{
?????????//?. . .
??? ?}
?};
????這時發現這兩個函數里面需要用?this.m_Panels[0].m_Element.style.display。好啊,Ctrl+C & Ctrl+V,搞定!
?DimTreeTab.prototype.ShowMemberTree?=?function()?{
???? this.m_Panels[0].m_Element.style.display?==?'inline'?
???? this.m_Panels[0].m_Element.style.display?==?'inline'?
?};
?DimTreeTab.prototype.ShowSearchMember?=?function()
?{
???? this.m_Panels[0].m_Element.style.display?==?'inline'?
???? this.m_Panels[0].m_Element.style.display?==?'inline'?
?};
????改撥改撥,ok了~~
?DimTreeTab.prototype.ShowMemberTree?=?function()?{
???? this.m_Panels[0].m_Element.style.display?==?'inline'?
???? this.m_Panels[1].m_Element.style.display?==?'none'?
?};
?DimTreeTab.prototype.ShowSearchMember?=?function()
?{
???? this.m_Panels[0].m_Element.style.display?==?'none'?
???? this.m_Panels[1].m_Element.style.display?==?'inline'?
?};
??? 運行起來完全沒有效果,由于對DHTML中的element引用關系比較復雜,老是覺得可能是沒有引用到正確的element,就在this.m_Panels[n].m_Element里查啊查啊,查到花兒都謝了,還是沒有查到問題。最后都調試成這樣了:
DimTreeTab.prototype.ShowMemberTree?=?function(){
????alert(this.m_Panels[0].m_Element.outerHTML);
????this.m_Panels[0].m_Element.style.display?==?'inline';
????alert(this.m_Panels[0].m_Element.outerHTML);
????alert(this.m_Panels[1].m_Element.outerHTML);????
????this.m_Panels[1].m_Element.style.display?==?'none';
????alert(this.m_Panels[1].m_Element.outerHTML);????
};
DimTreeTab.prototype.ShowSearchMember?=?function()
{
????alert(this.m_Panels[0].m_Element.outerHTML);
????this.m_Panels[0].m_Element.style.display?==?'none';
????alert(this.m_Panels[0].m_Element.outerHTML);
????alert(this.m_Panels[1].m_Element.outerHTML);????
????this.m_Panels[1].m_Element.style.display?==?'inline';
????alert(this.m_Panels[1].m_Element.outerHTML);????
};
??? 才猛然發現,怎么賦值是"=="啊!!!。正確的應該是:
DimTreeTab.prototype.ShowMemberTree?=?function(){
????this.m_Panels[0].m_Element.style.display?=?'inline';
????this.m_Panels[1].m_Element.style.display?=?'none';
};
DimTreeTab.prototype.ShowSearchMember?=?function()
{
????this.m_Panels[0].m_Element.style.display?=?'none';
????this.m_Panels[1].m_Element.style.display?=?'inline';
};
????可能算不上什么教訓,但是還是可以注意幾點。Coding的時候,因該:
??? 多打些字;
??? 查問題先查簡單的;
??? 實在不行了,散散步再回來做;
????讓team里的哥們給看一下...
轉載于:https://www.cnblogs.com/birdshome/archive/2005/03/02/110904.html
總結
以上是生活随笔為你收集整理的调试了半天,全都是复制代码惹得祸!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对象基础知识
- 下一篇: [导入]关于怎样通过xslt向.NET扩