《JavaScript设计与开发新思维》——1.7 JavaScript编程目标

1.7 JavaScript编程目标

开始一次新的尝试时,不管是第一次学习JavaScript还是为了学习更好、更现代的JavaScript技术,都应该设定一些目标。网站的目的当然是为了让客户(使用Web浏览器的最终用户)查看和使用。如果访问者无法使用一个网站,你作为Web开发人员的工作就失败了。朝着这个目标,网站的功能应该在所有浏览器上都能实现,包括移动设备上的浏览器、非可视化浏览器、禁用JavaScript的浏览器和旧的浏览器。完成这一目标比你想象的更容易,这要归功于渐进增强(progressive enhancement)方法。

渐进增强指的是创建可靠的基本功能,然后在支持增强功能的浏览器上改进的过程。例如,处理表单提交的标准方法是将表单数据发送给服务器端资源(参见图1.3)。前面已经讨论过,JavaScript能够使用Ajax完成相同的功能(参见图1.5)。渐进增强意味着你应该首先实现标准的方法,然后在可能的时候拦截这一方法。本书从下一章开始将不断地阐述渐进增强的实施。

这并不是说不能合理地排除一些用户。例如,在老式浏览器上HTML5的奇妙功能不可能正确地表现,iOS设备(iPod、iPad和iPhone)不支持Flash。如果一个网站绝对需要Flash,就必须意识到,有许多人将被排除在外。但是对于大部分网站来说,目标应该是支持尽可能多的浏览器。

一个网站不但应该在任何浏览器上都能工作,而且不应该试图破坏浏览器的常规表现。多年来,JavaScript程序员曾经阻止用户单击“返回”按钮、使用浏览器历史、访问上下文菜单等。对于大部分情况来说,JavaScript应该改进用户体验,而不是彻底改变它。没有什么正当的理由让浏览器以不同于用户所习惯的方式工作。(至少,如果你的网站依赖于禁用常见的浏览器行为,当一位没有JavaScript的用户访问时你就会遇到麻烦。)

其次,为了使代码更容易维护,你应该采用无干扰(unobtrusive)JavaScript技术。这一术语指的是将JavaScript代码与HTML页面分离,第2章将从这种技术对实际代码的影响开始讨论。

最后,现代的JavaScript编程应该适合于整个Web的当前状态。可以将它看作一个模范公民或者好的父母:展现应有的质量。这不只适用于JavaScript,也适用于HTML和CSS。第2章将确立这一目标的某些特性,例如采用语义HTML。

这些是现代JavaScript编程的目标。本书的目标是在实际代码中正确地实现这些目标,同时将JavaScript当作一种语言来教。

时间: 2024-08-21 10:24:00

《JavaScript设计与开发新思维》——1.7 JavaScript编程目标的相关文章

《JavaScript设计与开发新思维》——导读

前言 JavaScript是当今使用最广泛的编程语言之一,可以在几乎所有网页(在所有新的网页)上找到.过去的10年,在经济变化和JavaScript使用方式的扩展之间,越来越多的Web开发人员和设计人员希望了解这种语言.具有讽刺意味的是,在这些事实面前,还有少数人对JavaScript是不是一种真正的编程语言表示怀疑.而且,许多书籍仍然用传统的方式介绍JavaScript,把它当作一种用来实现零散的花招和消遣的技术. 编写本书的目的就是要解决这些问题,以一种容易理解的方式,介绍JavaScrip

《JavaScript设计与开发新思维》——1.4 JavaScript和其他常见技术的比较

1.4 JavaScript和其他常见技术的比较 在我开始学习外语之前,从未真正领会英语语法的课程:有时候掌握一种思想只需要一些比较和对照.在接下来的几页当中,我将说明如何将JavaScript与其他你可能已经熟悉的常见技术进行比较,希望你能够更加完整地理解将要掌握的这种语言. HTML和CSS HTML(HyperText Markup Language,超文本标记语言)是用于创建网页的技术.(顺便说一句,如果你还不知道这一点,就需要在进一步学习本书之前学习HTML.)HTML和JavaScr

《JavaScript设计与开发新思维》——第1章 (重新)介绍JavaScript 1.1 什么是JavaScript

第1部分 入门 第1章 (重新)介绍JavaScript 今天的JavaScript是一种被误解的编程语言,从JavaScript所能做到的,到它不能做到的,再到JavaScript不是什么(JavaScript不是Java),关于这种当今Web的核心技术有许多的混淆.不理解一种技术的精髓,就不可能有效地使用它,所以本书的第1章提供对现代JavaScript的一个概要介绍. 本章的大部分篇幅讨论JavaScript的概念,以及它迄今为止的变化历程.接下来,读者将看到有关JavaScript版本以

《JavaScript设计与开发新思维》——2.6 窃取这段JavaScript

2.6 窃取这段JavaScript 正如在本章引言中所说,你可以在没有完全了解的情况下使用JavaScript这一事实既是恩赐也是祸害.如果你在一个项目上尝试了JavaScript,而几乎不知道自己在做什么,不必尴尬:许多程序员都这么做过,甚至我也是如此.如果顺利,你能够达成自己的目标.但是更可能的是,你所使用的JavaScript不是最优或者可靠的,这就是你求助本书来掌握这门语言的原因. 最后,我要提出一个有助于学习的建议:形成定期查看在网上找到的其他JavaScript的习惯.我所指的不仅

《JavaScript设计与开发新思维》——1.3 JavaScript不是什么

1.3 JavaScript不是什么 现在你已经理解了JavaScript是什么(希望如此),我们再花点儿时间谈谈JavaScript不是什么.这也可以称作本章的"真相揭露"部分! 第一,JavaScript不是Java.这是一个常见而相当合理的混淆(毕竟两者都以"Java"开始).但是,JavaScript决不是Java.实际上,JavaScript与Java没有关系,它是另一种类型的面向对象语言,又是一种脚本语言(Java是编译型语言),两者的用途也有很大的不同

《JavaScript设计与开发新思维》——2.2 HTML5入门

2.2 HTML5入门 我写这本书的时候已经临近2012年,HTML5是一个奇妙的东西,它已经以某种形式存在了数年,但是不久之前XHTML2.0停止发展之后,HTML5才成为了Web开发的事实标准.HTML5还没有正式地标准化和发布,这意味着不管何时出现HTML5的最终实现方案,无疑都会与现在讨论的HTML5不同.通常,由于Web浏览器普遍存在而又多变,明智的人应该避开这类新事物.但是你可以采取许多方法,在两个方面上都得到最大的益处:使用一些HTML5特性,而又不破坏用户的体验.我们首先来看一个

《JavaScript设计与开发新思维》——1.6 JavaScript版本和浏览器支持

1.6 JavaScript版本和浏览器支持 我们已经说明过,JavaScript的核心来自于ECMAScript,ECMAScript在2009年推出了最新的第5版.JavaScript的当前版本是基于ECMAScript 5的1.8.5版本,于2010年7月推出.但是在JavaScript中编程时,版本的问题不如"在什么浏览器中可能发生什么情况"那么重要.大部分现代浏览器都支持ECMAScript 3和ECMAScript 5的一部分(ECMAScript 的版本4从未正式发布).

《JavaScript设计与开发新思维》——2.4 关键的开发方法

2.4 关键的开发方法 在查看代码之前,应该详细地讨论3种开发方法.你选择的方法(可能同时采用不止一种方法)将会影响所编写的代码,更重要的是,影响最终用户的体验. 2.4.1 功能退化 script元素为任何HTML页面添加JavaScript,与此相反的是noscript元素,它用于页面在浏览器不支持JavaScript时提供一个替代信息或者替代内容: <noscript>Your browser does not support JavaScript!</noscript> 如

《JavaScript设计与开发新思维》——2.5 拼凑一些代码

2.5 拼凑一些代码 利用已经介绍过的一些基础知识,我们继续前进,开始接触JavaScript.当然,我不期望你已经了解JavaScript-这是本书的目的-但是下一个示例阐述了JavaScript的易理解性,并且为第2部分的材料(也即正规训练)提供一些背景知识. 2.5.1 开发基本功能 作为一个简单而实用的例子,我们来创建一个登录表单,然后用JavaScript进行验证.在稍后的章节中,你将学习如何为这个表单应用Ajax,但是在这时添加Ajax可能有点过于复杂.首先创建HTML表单,该表单有