javascript概述

javascript是一种脚本语言,嵌入在网页应用程序,是web2.0的主要推手。目前几乎所有的网站都是用javascript来构建页面,尤其是ajax技术的流行,更是促进了javascript的发展。

javascript只能由浏览器解释执行,因此要嵌入到网页中才能发挥作用,javascript最大的特点就是操作页面DOM节点实现页面应用程序。一般来说,使用javascript的方式有两种:

  • 在页面中直接写javascript代码
<head>
<title>页面中直接编写javascript</title>
<script language="javascript">
//在这里直接编写javascript代码
</script>
</head>

  • 引入外部javascript
<head>
<title>引入外部javascript文件</title>
<script language="javascript" src="js/mian.js"></script>
</head>

不严格的说,javascript也是一门编程语言,了解其解释执行原理对于编写出高质量代码至关重要。

首先需要阐明一个非常重要的概念:页面加载。因为它需要从无到有将页面DOM结构以及javascript代码由上而下按照顺序解释一遍,实际上javascript代码也可看作是DOM结构中的一部分。

  • 对于普通DOM元素是这样处理的:浏览器边解释边加载直到文档结束,此时浏览器即按照w3c的标准将文档结构图展示在页面上。
  • 而对于javascript代码是这样处理的:浏览器自上而下(包括引入的外部js文件也是这样):如果javascript是执行代码,那么立即执行此代码;如果javascript是定义代码(如变量定义和函数定义)那么就预定义变量或者函数,直至所有的javascript代码都被解释完全。

需要说明的是,普通DOM元素和javascript是同时加载的,这样就会造成这样一个问题:页面加载中如果遇到了可执行的javascript代码,并且这个代码操纵了页面中的某个DOM节点,那么就会出现两种情况:第一,此javascript代码出现在需要操作的DOM节点之前,就会报错(找不到元素或者引用元素为null,因为此时的节点还没有加载);第二,此javascript代码出现在需要操作的DOM节点之后,就不会出现错误(因为此时相应的DOM元素已经存在于此文档中了)。

页面加载完之后就会触发页面的onload事件。这个事件相对于其他事件的特殊之处就在于它是在页面加载完成之后自动执行的。注意到这个特殊之处,当然可以把它当成普通事件来处理。下面即讨论事件的有关内容。

所谓事件就是针对页面元素的用户动作,比如针对某个DOM元素用户单击或者双击都可以称作一个事件。浏览器监听用户行为,并对不同的行为做出不同的响应。事件交互是页面应用程序的基础。而事件处理机制就是在做这样一个事情:对于用户的不同行为需要做出什么响应。首先让我们来看一看一般页面事件都有哪些,关于这个常识性的内容,本人使用w3c官网的截图来说明:


上图罗列出了二十一个事件句柄。下面需要说明的就是如何通过事件句柄来处理事件并做出响应:为了实现这一目的,首先需要进行事件监听,一旦事件发生就进行处理,即调用预定义函数。通常有以下几种方式:

第一:在DOM节点上直接给出事件句柄及其属性。如:

<body οnlοad="initPage()">……</body>:这样就处理了页面加载事件,在页面加载完成之后调用initPage()函数。注意这里函数名后有括号

<div οnclick="show()"></div>:在单击此div时触发show()函数

第二:通过javascript语句实现事件处理。如:

document.getElementById('mydiv').οnclick=show;//在单击id为'mydiv'的层时触发show函数,注意这里函数名之后没有括号,表示不立即执行


写到这里,应该有一个清晰的认识:javascript是什么,它是如何运行的,它是怎样操纵DOM节点实现页面应用程序的。基于这样的认识,我们即将进入下一步更具体而深入的研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值