知识要点
1.客户端javascript
window对象是所有客户端javascript特性和API的主要接入点。它表示web浏览器的一个窗口或窗体,并且可以用window表示来引用它。window对象定义了一些属性,比如:Location对象的location属性,Location对象指定当前显示在窗口的URL,并允许脚本往窗口里载入新的URL。
//设置location属性,跳转至新的页面 window.location = "https://www.baidu.com"
window对象还定义了一些方法,比如alert(),还有setTimeout()。
注意上面的代码并没有显式的使用window 属性。在客户端javascript中,window对象 也是全局对象。这意味着window对象处于作用域链顶部,它的属性和方法实际上是全局变量和全局函数。window对象有一个自身引用的属性,叫做window。如果需要引用窗口对象本身,引用引用这个属性。但是如果只想引用全局窗口对象的属性,通常不需要用到window。
window对象还定义了很多其他重要的属性、方法和构造函数,参见14章查看完整细节。
window对象中一个重要的属性是document,它引用Document对象,后者表示显示在窗口中的文档。Document有一些重要的方法,比如getElementByid()。
getElementById()返回的Element对象有其它重要的属性和方法,比如允许脚本获取它的内容,设置属性值等。
查询、遍历和修改文档将在15章做介绍。
每个Element对象都有style和className属性,允许脚本指定元素css样式,或修改元素上的css类名。16章会讲解style和className属性和其它css编程技术。
window、Document和Element对象上另一个重要的属性集合是事件处理程序相关的属性。可以在脚本中为止绑定一个函数,这个函数会在某个事件发生时以异步的方式调用。事件处理程序可以让javascript代码修改窗口,文档和组成文档的元素的行为。事件处理程序是以单词"on"开始的,用法如下:
//当用户单击元素时,更新它的内容 timestamp.onclick = function(){this.innerHTML = new Date().toDateString();}
window对象的onload对象处理程序是最重要的事件处理程序之一。当显示在文档内的内容文档且可以操作时触发。javascript代码通常封装在onload事件处理程序里。17章会详细讲述事件。
文字title(Click Here)
文字内容
在本章的概要介绍到了,一些web页面感觉上像文档,而另一些则像应用。接下来的两节探讨javascript在两种页面类型里是如何使用的。
1.1.web文档里的javascript
javascript程序可以通过Document对象和它包含的Element对象遍历和管理文档内容。它可以通过操作css样式和类,修改文章内容的呈现。并且可以通过注册事件的处理辰星来定义文档的元素行为。内容、呈现和行为的组合叫动态HTML或者DHTML,会在13-17章里介绍到
javascript可以增强用户的体验:比如以下方式:
- 创建动画和其它视觉效果,巧妙地引导和帮助用户进行页面导航。
- 对表格进行分组,让用户更容易找到所需
- 隐藏某些内容,当用户“深入”到内容时,逐渐展示详细信息。
1.2.web应用里的javascript
在web文档库使用的javascript DHTML特性在web应用里都会用到,对于web应用来说,除了内容、呈现和操作api之外,还依赖web浏览器环境提供更基础的服务。‘
要真正的了解web应用,需要先认识web浏览器已经有很好的发展了,现在不仅仅是显示文档的角色了,而渐渐变成简易的操作系统。想一下,传统操作系统允许组织桌面和文件夹里的图标(表示文件或应用);web浏览器允许在工具栏和文件夹里组织书签(表示文档和web应用)。系统可以在一个窗口里运行多个应用;web浏览器可以在一个标签里显示多个文档。操作系统定义很多底层的API、提供绘制图形,保存文件等功能。web浏览器也定义了底层API(18章)、保存数据(20章),和绘制图形(21章)。
谨记web浏览器是简单的操作系统的概念,这样就可以把web定义问用javascript访问更多浏览器提供的高级服务(比如网络、图形和数据存储)的web页面。高级服务里最著名的是XMLHTTPRequest,可以对HTTP请求编程来启动网络。web里是固体这个从服务器获取新信息,而不用从新载入页面。类似这样的web应用通常胶Ajax应用,Ajax构成了web2.0的脊梁。XMLHTTPRequest会在18章详细介绍。
HTML5标准和相关标准为web应用定义了很多其他重要的API。包括21章的数据存储和20章的图像API,以及很多其他特性的API,如地理位置信息,历史管理和后台线程。在实现这些API后,会开启一场web应用的功能革命。这些内容在22章会介绍。
2.在html嵌入javascript
有四种方法:
- 内联 ,放置在之间
- 放置在