ppk谈JavaScript
这本书买得比较早,断断续续读了几次。这次花了一周时间重新读了一遍。总得来说,这本书中的部分理念,不说完全过时,但在现在的技术环境下也很难实现了。例如书中提到的“无侵入脚本编程”(也叫不唐突的脚本编程,英文unobtrusive scripting),意思是当浏览器不支持js也不影响内容的显示和访问。这对于React、AngularJS、VUE大行其道的当下来说,如果浏览器不支持JavaScript,可能只能显示一个空白页。尤其是在React中,HTML已经与JavaScript融为一体了,页面往往只呈现一个root标签。
作者对JavaScript的理解是这样的:“JavaScript的目标是给Web页面增加一个额外的可用层”。然后又进一步补充:“有些脚本并没有增加可用层,其本身便是可用层,它带来的后果是,当某个浏览器不支持JavaScript时,网站就崩溃了。” 现实是,时下流行的React就重度依赖脚本,而也没有人会使用不支持JavaScript的浏览器。
书中还强调了结构与表现分离(HTML与CSS分离)、结构与行为分离(HTML与JavaScript分离)、行为与表现分离(JavaScript与CSS分离)。并声称即使浏览器不支持JavaScript或者用户禁用浏览器,页面也应当可以显示正常内容。实际上,现在的浏览器都在尽可能全面地去支持JavaScript的新特性;除此以外,也没有用户去禁用浏览器脚本,否则,估计几乎所有的网站都无法访问。依此来看,这个理念就没有太多实践的可能性了。
除了这一理念以外,和其他大多数讲JavaScript的书一样,介绍了JavaScript核心 、浏览器对象模型BOM、事件模型、文档对象模型DOM、修改样式表等知识。但是对这些内容的讲解比较浅显和简单。因为这本书成书年代比较早,所以对于现代JavaScript一些知识(例如ES2015以及与Html5相关的)则完全没有包含,并且过多地提及了浏览器兼容性的问题。实际上现在来讲,浏览器兼容性的问题已经比10年前要小很多了 。
总得来说,书中基础知识讲解还是不错,但由于Web相关技术发展太快,这本书中的部分内容已经有些过时了。
感谢阅读,希望这篇文章能给你带来帮助!