文档对象模型
创建新对象:
格式:新对象名=new 已存在对象名(参数表); 如:
var now = new Date(); var year = now.getYear();
alert(?现在是‘+now); alert(?今年是‘+year); (2)对象的引用方式 ? 自引用
指对象的自我引用,用关键字this代指自己。 【例2-7】使用this关键字进行自引用 2-7.htm源代码:
this关键字的使用
? 按层次引用:按文档对象模型层次进行引用
按层次引用引用的基本模式是:父对象.子对象,如: window.alert(window.document.form1.textfield1.value);
其中,当前窗口可不用指明window对象,所以上一行代码常常写成这个样子: alert(document.form1.textfield1.value);
按DOM层次引用对象的适用条件:应明确知晓父子关系和各自名称。
? 按下标引用。适用于对象集合的处理,同名对象的集合按该名字命名的数组,通过数组下标的访问引用每个对象,下标从0开始。使用场合:同名单选按钮组、复选框组等,组内各成员的引用。 【例2-8】以遍历数组的形式引用对象 2-8.htm源代码:
说明:数组元素的个数,即数组的长度,用―数组名.length‖引用数组的长度属性值length得到。
以遍历数组的形式引用对象
? 按名引用。同类型但不同名的对象集合内各成员,可通过这种方式引用。 【例2-9】按名引用对象 2-9.htm源代码:
【例2-9】按名引用对象
按名引用对象
类似地,也可通过document. Forms[]数组来引用在同一个页面上多个表单中的某个表单,例如, 将第一个表单中名为textfield1的文本框赋值123: document.forms[0].textfield1.value=123; (2)事件及事件处理 ①基本概念
通常鼠标或热键的动作我们称之为事件(Event),而由鼠标或热键引发的一连串程序的动作,称之为事件驱动(Event Driver)。驱动,在这里就是引发,触发的意思。这些动作,就是对事件进行处理的程序或函数,我们称之为事件处理程序(Event Handler)。其基本格式与函数全部一样,可以将前面所介绍的所有函数作为事件处理程序。格式如下:
Function 事件处理名(参数表){ 事件处理语句集; }
可以使用自己编写的函数作为事件处理程序,也可以使用JavaScript中内部的函数,还可以直接使用JavaScript的代码等,如例2-6。 ②主要事件
PHP讲义 第 28 页 共 91 页
? onClick——单击
当用户单击鼠标按钮时,产生onClick事件,同时onClick指定的事件处理程序将被调用执行。在很多对象中产生:
? button(按钮对象):包括 ? reset button(重置型按钮) ? submit button(提交型按钮) ? radio (单选按钮或无线按钮) ? checkbox(复选框或检查框) ? 超链接 ……
使用方法大同小异,参考【例2-6】即可。 ? onChange——数据被更改
下列情况将触发相关对象的onChange事件: text元素输入的字符值改变时
texturea元素输入的字符值改变时 select元素选项改变后
【例2-10】onChange事件的处理 2-10.htm源代码:
修改这些文本框中的值,看看会发生什么事情:
PHP讲义 第 29 页 共 91 页
onChange事件
更多事件的详细介绍,请参考相关资料,在此不再赘述。 (3)常用JavaScript内置对象的使用
按数据类型可分为:字符串(string)对象、算术函数(math)对象、日期(Date)对象 按使用时是否需要创建实例可分为:静态对象和动态对象。
静态对象:在引用其属性或方法时不需要为它创建实例,如string(字符串); 动态对象:在引用其属性或方法时必须为它创建一个实例,如Date(日期)。 基本使用格式:对象名.属性名
对象名.方法名()
1)串对象
①属性。只有一个属性,即length。它表明了字符串中的字符个数,包括所有符号。例:
②方法。共有19个,主要用于串在Web页面中的显示、字体大小、字体颜色、字符的搜索以及字符的大小写转换等。
其中,常用方法如下: ? 显示的控制方法
(a)fontsize(size)字体大小:作用同HTML字体标签。 语法:fontsize(size) 其中,1≤size≤7 (b)bold()粗体字 (c)Italics()斜体字
? 字体颜色;fontcolor(color) ? 大小写转换
toLowerCase()小写转换,toUpperCase()大写转换。
? 取指定位置的字符:charAt(index),,0≤index≤串.长度-1。 ? 定位字符首次出现位置:indexOf(character,fromIndex)
从指定formIndtx位置开始,在串中搜索character首出现的位置,0≤formIndex≤串.长度-1。 ? 定位字符末次出现位置:lastIndexOf(character,fromIndex)
从指定formIndtx位置开始,在串中搜索character末次出现的位置,0≤formIndex≤串.长度-1。 ? 取子串:substring(start,end) 取下标为[start,end)的子串。
若start>end,返回下标为[start,end)的子串; 若start=end,返回空串;
若start>end,返回下标为[start,end)的子串 ? 上标:sup(),作用同HTML上标标签 ? 下标:sub(),作用同HTML下标标签 【例2-11】JavaScript串对象的使用 2-11.htm源代码:
【例2-11】JavaScript串对象的使用