今天开始,系统地开始学习javascript,虽然是脚本语言,却能引发神奇的故事,这就是javascript的威力,当我决定抱着一本书来学习的时候,耳边又出现了很多人善意的提醒:需要动手写代码!代码必然不可少,但是书本我还是觉得离不开。寻思了好久,该看《javascript权威指南》好,还是《javascript高级程序设计》好,前者是公认的好书,而后者,之前也有看过一些,觉得Nicholas C Zakas先生讲得浅显易懂。犹豫了好一会,还是决定先看权威指南吧。为了督促自己看书,并且从中学到知识,假使有个需要温习此书的以后,好吧,在这里记下第一次看这本书所学到的,所感悟到的东西,即使是个很简单的知识点,也尽量记下来。
第一章,主要是javascript的概述,告诉我们虽然是脚本语言,却也具有面向对象的能力,同时消除了将它与java混淆的想法,之后介绍了一系列javascript诞生以来的版本变化。解释了什么是客户端javascript,它其实是将javascript解释器的脚本化能力与web浏览器定义的文档对象模型(DOM)结合在一起,客户端javascript使得可执行的内容散布在网络中的各个地方,是新一代DHTML文档的核心。
之后举了下述例子来说明javascript的主要特性是方法document.write()的使用,告诉大家这一方法用于动态输出由web浏览器解析并显示的HTML文本:
<html>
<body>
<head><title>Factorials</title></head>
<script language="javascript">
document.write("<h2>Table of Factorials</h2>");
for(i=1,fact=1;i<10;i++,fact*=i){
document.write(i+"!="+fact);
document.write("<br>");
}
</script>
</body>
</html>
同时,也简要叙述了javascript的其他功能,比如它可以控制浏览器和出现在浏览器中的HTML表单的内容,再比如它可以控制文档的行为,这即是说当你输入一个值或者点击了文档中的一幅图像时,javascript程序会以某种方式对此做出响应(事件处理器实现)。
之后,还强调了javascript在客户端的真正强大之处在于脚本能够访问基于网页内容的对象层次。
javascript没有定义可以在浏览器窗口中直接创建并操作框架的方法。但是,它能够动态生成HTML的能力却可以让你使用HTML标记创建任何想要的框架布局。它还可以控制在浏览器中显示哪个网页。Location对象可以在浏览器的任何一个框架或窗口中装载并显示出任意的URL所指的文档。History对象则可以在用户的浏览历史中前后移动,模拟浏览器的Forward按钮和Back按钮的动作。
客户端javascript的另一个重要之处就是它能够与HTML表单进行交互。这种能力是由Form对象以及它含有的表单元素对象提供的。它们使得你能够对文档中某个表单的输入元素的值进行读写操作。
当然,客户端javascript代码在表单中的另一种常见用法是在提交表单之前对表单数据进行验证。以减轻服务器端的负担。
客户端javascript具有一连串给人留下深刻印象的功能,但是,这些功能只限于与浏览器相关的任务或与文档相关的任务。由于客户端javascript只能用于有限的环境中,所以它没有独立的语言所必须的特性!
在1.8节中举了一个例子,用javascript计算借贷支出,整个程序是由一个HTML表单构成的,该表单可以与javascript代码进行交互。
之后,和所有的书籍一样,讲述了本书的结构并且简要介绍了学习方法,应该一边学习特性一边对它们做一些尝试,同时说明了,编写javascript仅需要一个web浏览器和一个简单的文本编辑器就够了,当然,写了代码就难免运行出与我们期望值不符的结果,此时,就需要对它进行调试,调试javascript,需要在代码中插入语句,输出有关变量的值,这样我们就能断定是哪里出的问题了,此时,我们使用alert()函数来显示调试信息会相对document.write()方法容易一些。
第一章到此画上一个句点~~