这是我在简书发的第一篇博客,并正式拉开自己学习js的序幕,以后自己学习中遇到一些问题和心得都会在简书与大家分享,下面分享一下自己的博客和Git地址,希望大家多交流学习。
个人博客:http://ganzhiqiang.cn
Git地址:https://github.com/LJWLgl
- 在结构化的程序设计中,有一条原则:函数应该只有一个入口和出口。但是遵循这种原则有时会让程序变得非常难以阅读和维护,如果为了避免留下多个出口而增加很多if语句,会让核心代码被隐藏在一层又一层的花括号里。针对这个问题,如果函数有多个出口,只要这些出口出现在函数的开头部分,就是可以接受的,如:
if(!document.getElementsByTagName)return false; //检测浏览器是否支持这些Dom方法
if(!document.getElementById)return false;
if(!document.getElementById("picture"))return false;
- 在指定函数引用时,不要在函数后面加括号,如
window.onload=addLoad()
,因为括号表示立即调用函数而我们在此只想把函数自身的引用(而不是函数结果)赋值给window.onload
-
渐进增强
渐进增强的概念就是,指从最基本的可用性出发,在保证站点页面在低级浏览器中的可用性和可访问性的基础上,逐步增强功能及提高用户体验。
我们日常的一些开发习惯,例如首先使用标记语言编写页面,然后通过样式表来控制页面样式等,都属于渐进增强的概念;其他更明显的行为包括使用HTML5、CSS3等新技术,针对高级浏览器为页面提高用户体验。渐进增强方案并不假定所有的用户都支持javascript,而总是提供一种候补方法,确保用户可以访问(主要的)内容。
我们应该先让网站能够正常工作于尽可能旧的浏览器上,然后不断为它在新型浏览器上实现更多的增强和改进。随着时间的推移,当越来越多的人开始升级浏览器而浏览器本身的支持度也不断提升时,就会有越来越多的人体验到这些增强和改进,它持续有效的使网站越来越好,只要一次实现,它就让网站的体验与时俱
渐进增强原则基于这样一种思想:你应该总是从最核心的部分,也就是从内容开始,应该根据内容使用标记实现良好的结构;然后再逐渐加强这些内容。这些增强工作即可以是通过CSS改进呈现效果,也可以是通过DOM添加各种行为。如果你在使用DOM添加核心内容,那么那你添加的时机未免太迟了,内容应该在刚开始编写文档时就成为文档的组成部分。 -
平稳退化
首先使用最新的技术面向高级浏览器构建最强的功能及用户体验,然后针对低级的浏览器进行限制,逐步衰减那些无法被支持的功能及体验。使用平稳退化技术时,你必须首先完整的实现了网站,其中包括所有的功能和特效。 然后再为那些无法支持所有功能的浏览器增加候选方案,使之在旧市的浏览器上可以以某种形式降级体验却不至于完全失效。
渐进增强的实现必然支持平稳退化。如果你按照渐进增强的原则去充实内容,你为内容添加的样式和行为就自然支持平稳退化,那些缺乏必要的CSS和DOM支持访问到你的核心内容,如果你用JavaScript去添加这些内容,它就没法支持平稳退化。
在我们日常的开发中,一个典型的平稳退化的例子就是:首先针对Firefox或者Chrome等支持W3C标准的浏览器编写页面代码,然后修复IE中的异常或针对IE去除那些无法被实现的功能特色。
网友评论