学习Javascript DOM 编程艺术的一点心得

     最近又看了一遍JS DOM编程艺术,照例来写一写读后感。

     其实,我从中学到最深的是几个概念:1、平稳退化。当浏览器并不支持JS的时候网页的基本核心功能是还可以用的;2、逐渐增强。在原始的信息层上用其他层去增加其他信息。用CSS去增加效果,用JS去添加行为。当然某些浏览器可以支持部分的js,为了使旧浏览器可以用,不至于因为某些代码挂掉。3、将结构、表现、行为分离,而且分离越大越好。

    然后我学到了简单的一点关于对象检测的技术,这在运用向后兼容原则时必要的,但文章太过保守,像:document.getElementsByTagName等也在检测。或许在老古董的浏览器上有用,但现在基本无用。其次,文中说可以从:减少访问DOM及添加标记、合理合并脚本(减少请求)、合理放置脚本位置、压缩脚本等几个方面提高性能。

    或许还让我了解了一点AJAX,文中显示建立了一个XMLHttpRequest对象、然后用该对象来发送请求接受响应,但是这是异步的。其中运用了事件监听,而这是其异步的根源。因为,就如同onclick、onmouseover等事件一样,该函数不会立即执行,它会加入到任务队列之中而非主线程,而JS是单线程的。必须要待主线程空了之后才有可能执行。另,setTimeout和setInterval也是添加到任务队列中。计时是相对于主线程空的计时,计时是可以中断的,待主线程有了任务它就暂停计时。

    以上就是我认为与我有益的东西。

    大家对本书评价很高,确实是入门的好选择,但最好是对HTML和CSS有所了解、对JS语言的语法本身有所了解就更好;否则一开头还是有点困难。所以,一开头还是先学HTML、CSS;然后将高程关于JS语言本身的部分看完再回头学效果更好。

   我自己练习的时候遇到一个问题:Failed to load resource: net::ERR_FILE_NOT_FOUND。这是什么原因呢?路径的问题,我是动态的产生元素,但我以为图片的src应该是相对于我的js文件的相对路径。但事实是建立的元素经过浏览器渲染之后实际好像就是原来就在这里一样,当然路径应该是相当于html的相对路径了,若是使用绝对的URL不存在问题。

 

posted @ 2016-09-02 09:19  月下夜行  阅读(2521)  评论(0编辑  收藏  举报