山重水复疑无路

这多天没有写博客了,因为一直在看《JavaScript DOM编程艺术》的第4章至第7章的内容,然后我才发现,真的是到后面自己越来越hold不住了。

在重新模仿每个示例代码前,我都会先缕清逻辑关系,然后在不看示例代码、只看会用到的新函数语法的情况下自己先敲出来,然后试试看最终效果能不能展现出来。这种学习方法导致我的进度确实非常的慢,但是我认为是深入理解和应用每个函数的好方法,而且缕清逻辑关系这一步会让我分析问题的思路越来越清晰。

然而,从第4章要求展现的“‘占位符’图片被替换为这个链接所指向的一张新图片,同时描述性文字也被替换为这个链接的title属性值”这个最简单的效果在我的代码中没有显示,不过还好我自己检查出来了,犯了非常愚蠢的问题,一开始“占位符”图片忘记放入对应的文件夹内,然后是js文件忘记放进对应的文件夹内,而且js文件的位置放错这个错误还是问同学问题时自己才发现的。

然而,在学习第6章要求把onclick事件处理函数从HTML文件挪到JS文档时,onclick的默认行为,即点击链接出现新窗口的行为再也不能被阻止,检查了很久也找不到错误,我只有找高中同班的一位学习
软件工程专业的同学帮忙找一下自己的错误,他说我的代码有很多错误,最致命的错误是没有调用onclick这个函数!原来我用onload事件来执行prepareGallery函数。

可是就算是我加上了onload事件,onclick的默认行为仍然没有阻止,然后同学说我的代码错误太多,他说我必须自己学会调试代码。说真的,我连调试代码的意思都没有搞清楚呢!

说老实话,我这段时间因为自己写的代码无法展示效果检查来检查去都有点疯了,甚至怀疑自己适不适合做这一行,但是我知道自己没有退路,我必须继续向前。

原本以为自己10月份就能看完《JavaScript DOM编程艺术》,现在看来是不行了。因为前面的代码导致原本该显示的效果都没有显示出来,而整本《JavaScript DOM编程艺术》是一环套一环,每一章都是建立在前面一章的学习基础上的,所以我必须在学习第8章之前要把自己的代码错误改正,而且我的代码注释有的用英文有的用中文所以显得乱七八糟,我需要全部改用中文写,因为注释毕竟是需要给别人看的。开始的时候不熟悉,所以看的书用中文、写注释用中文,等到熟悉之后再替换成英文吧。

原本打算昨天一天的时间用来调试代码,结果昨天早上起床时头很痛(因为头天晚上自己作死看RunningMan看到快1点),然后昨天一天都没学习。这样也好,好好调整自己的状态和心态,用更清朗的头脑去检查自己的代码错误,也许效果更好。其实昨天虽然没有学习但是收获还是挺大,因为自己很长一段时间深受失眠的痛苦折磨,导致学习效率很低,大脑不够清醒,昨天无意中知乎上一个热门问答“如何快速入睡”,大家给了非常多很有用的意见,让我受益匪浅,其中有一条是用“云梦”APP,昨晚试验了一次确实能做到不到几分钟就入睡了。我心里真的是一大块石头落了地,失眠的折磨让我实在太痛苦了。

学习到现在,才算真正步入正轨。任何专业的学习在深入学习到复杂的阶段时都会遇到各种各样的问题。我知道自己没有天赋,顶多算有点小聪明。可是做任何事情到最后都会归真到人的性格——坚持、好学。Never give up, never!

后记:柳暗花明又一村
今天用火狐浏览器调试代码,发现自己犯的错误如下:
1. 把getElementsByTagName中的Elements写成单数;
2. getElementById、getElementsByTagName前面忘记加上document;
3. 第38行代码写成
var links = document.getElementById("imagegallery").getElementsByTagName("a");
正确的应该是
var gallery = document.getElementById("imagegallery");
var links = document.getElementsByTagName("a");

感谢同学教导我要自己学会调试代码!不过我看了几篇网上的资料,发现还是不知道怎么在IE浏览器中调试代码,因为网上给的教程对应的IE浏览器不知道是哪个版本,我电脑里的版本对应不上,我连js文件都查看不了,暂时只发现如何在火狐浏览器中查看js文件,但是我还是用的非常不熟,里面的各个按键代表什么意思?怎么使用?怎么及时改正自己的代码?

路还长着呢!不过万幸,我或走,或跑,或休息,还在这条路上一直前进。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值