JavaScript中的对象

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页 | aJAX| XML | DreamWeaver | PhotoShop | Discuz | Asp | php | java | HTML | XHTML

什么是对象

简单点说,编程语言中的对象是对现实中事物的简化。例如,我们一个人就是一个对象,但是编程语言很难完全描述一个这样复杂的对象。所以我们必须做出简化,首先,将人简化成属性和行为的组合,然后仅仅保留对程序有意义的几个属性以及行为。例如,我们做一个统计某学校的人的身高的程序,那么我们在这个程序中就可以把人的行为省略掉,只保留属性,并且只保留身高这一个属性。这样,我们就得到了一个最简单的对象。

对象的基本结构

JavaScript中的对象是由属性方法两个基本的元素的构成的。前者是对象在实施其所需要行为的过程中,实现信息的装载单位,从而与变量相关联;后者是指对象能够按照设计者的意图而被执行,从而与特定的函数相联。

引用对象的途径

  • 引用JavaScript内部对象;
  • 由浏览器环境中提供;
  • 创建新对象。

有关对象操作语句

  • For...in语句

格式如下:

For(对象属性名 in 已知对象名)

说明:

  • 该语句的功能是用于对已知对象的所有属性进行操作的控制循环。它是将一个已知对象的所有属性反复置给一个变量;而不是使用计数器来实现的。
  • 该语句的优点就是无需知道对象中属性的个数即可进行操作。


  • with语句

使用该语句的意思是:在该语句体内,任何对变量的引用被认为是这个对象的属性,以节省一些代码。

格式如下:

with object{ ...}

所有在with语句后的花括号中的语句,都是在后面object对象的作用域的。


  • this关键字

this是对当前的引用,在JavaScript由于对象的引用是多层次,多方位的,往往一个对象的引用又需要对另一个对象的引用,而另一个对象有可能又要引用另一个对象,这样有可能造成混乱,最后自己已不知道现在引用的那一个对象,为此JavaScript提供了一个用于将对象指定当前对象的语句this。


  • New运算符

虽然在JavaScript中对象的功能已经是非常强大的了。但更强大的是设计人员可以按照需求来创建自己的对象,以满足某一特定的要求。使用New运算符可以创建一个新的对象。其创建对象使用如下格式:

Newobject=NEW Object(Parameters table);

其中Newobject创建的新对象:object是已经存在的对象; parameters table参数表;new是JavaScript中的命令语句。


JavaScript对象

  • anchor对象

使用<A NAME=>标记创建的HTML锚点能被一个链接作为目标如果锚点包括HREF=特性,则它也是一个链接对象。anchor对象是document对象的一个属性,它本身没有属性方法或者事件处理程序。

  • array对象

array对象是Netscape Navlgator 3.0 beta 3中引入的一个新的对象,因而,它不能在Netscape 2.0中使用.它是一个内置对象,而不是其它对象的属性。

其属性为length //数组中的值个数

  • button对象

它是form对象的一个属性,使用<INPUT TYPE="BUTTON">标记来创建。

属性

name //HTML标记中的NAME=特性 value //HTML标记中的VALUE=特性

方法

click 模拟鼠标单击按钮

事件处理程序 Onclick

  • checkbox 对象

它是form对象的一个属性,使用<INPUT TYPE="CHECKBOX">标记来创建。

属性

checked 复选框的选择状态 defaultChecked 标记的CHECKED=特性 name 标记的NAME=特性 value 标记的VALUE=特性

方法

click 模拟鼠标单击按钮

事件处理程序 onclick

  • Date对象

它是一个内置对象——而不是其它对象的属性,允许用户执行各种使用日期和时间的过程。

方法

getDate() 查看Date对象并返回日期

getDay() 返回星期几

getHours() 返回小时数

getMinutes() 返回分钟数

getMonth() 返回月份值

getSeconds() 返回秒数

getTime() 返回完整的时间

getTimezoneoffset() 返回时区偏差值(格林威治平均时间与运行脚本的计算机所处时区设置之间相差的小时数)

getYear() 返回年份

parse() 返回在Date字符串中自从1970年1月1日00:00:00以来的毫秒数(Date对象按照毫秒数的形式存储从那时起的日期和时间)但是注意,该方法当前不能正确运行

setDate() 改变Date对象的日期

setHours() 改变小时数

setMinutes() 改变分钟数

setMonth() 改变月份

setSeconds() 改变秒数

setYear() 改变年份

toGMTString() 把Date对象的日期(一个数值)转变成一个GMT时间字符串,返回类似下面的值:Weds,15 June l997 14:02:02 GMT(精确的格式依赖于计算机上所运行的操作系统而变)

toLocaleString() 把Date对象的日期(一个数值)转变成一个字符串,使用所在计算机上配置使用的特定日期格式

UTC() 使用Date UTC(年、月、日、时、分、秒),以自从1970年1月1日00:00:00(其中时、分、秒是可选的)以来的毫秒数的形式返回日期

  • document对象

该对象是window和frames对象的一个属性,是显示窗口或框架内的一个文档。

属性

alinkColor 活动链接的颜色(ALINK)

anchor 一个HTMI锚点,使用<A NAME=>标记创建(该属性本身也是一个对象)

anchors array 列出文档锚点对象的数组(<A NAME=>)(该属性本身也是一个对象)

bgColor 文档的背景颜色(BGCOLOR)

cookie 存储于cookie.txt文件内的一段信息,它是该文档对象的一个属性

fgColor 文档的文本颜色(<BODY>标记里的TEXT特性)

form 文档中的一个窗体(<FORM>)(该属性本身也是一个对象)

forms anay 按照其出现在文档中的顺序列出窗体对象的一个数组(该属性本身也是一个对象)

lastModified 文档最后的修改日期

linkColor 文档的链接的颜色,即<BODY>标记中的LINK特性(链接到用户没有观察到的文档)

link 文档中的一个<A HREF=>标记(该属性本身也是一个对象)

links array 文档中link对象的一个数组,按照它们出现在文档中的顺序排列(该属性本身也是一个对象)

location 当前显示文档的URL。用户不能改变document.location(因为这是当前显示文档的位置)。但是,可以改变window.location (用其它文档取代当前文档)

window.location本身也是一个对象,而document.location不是对象

referrer 包含链接的文档的URL,用户单击该链接可到达当前文档

title 文档的标题((TITLE>)

vlinkColor 指向用户已观察过的文档的链接文本颜色,即<BODY>标记的VLINK特性

方法

clear 清除指定文档的内容

close 关闭文档流

open 打开文档流

write 把文本写入文档

writeln 把文本写入文档,并以换行符结尾

  • form对象

它是document对象的一个属性,文档内的一个窗体。

属性

action 包含了为一个窗体提交的目标URL的字符串

button 窗体内的一个按钮,使用<INPUT TYPE=”BUTTON”>标记来创建(该属性本身也是一个对象)

checkbox 复选框,使用<INPUT TYPE=”CHECKBOX”>标记来创建 (该属性本身也是一个对象)

elements array 一个数组,按照其出现于窗体内的顺序列举各窗体元素(该属性本身也是一个对象)

encoding 窗体的MIME编码

hidden 窗体里的一个隐藏元素(<INPUT TYPE=”HIDDEN”>)。窗体对象的一个属性(该属性本身也是一个对象)

length 窗体里的元素的个数

method 输入窗体的数据传送到服务器上的方式,即(FORM)标记中的METHOD特性

radio 设置在窗体里的单选按钮(<INPUT TYPE=”RADIO”>)(该属性本身也是一个对象)

reset 窗体里的复位按钮((1NPUT TYPE=”RESET”>)(该属性自身也是一个对象)

select 窗体里的选择框(<SELECT>)(该属性本身也是一个对象)

submit 窗体里的提交按钮(<INPUT TYPE=”SUBMIT”>)(该属性本身也是一个对象)

target 提交窗体后,显示回应信息的窗口的名字

text 窗体里的文本元素(<INPUT TYPE=”TEXT”>)(该属性本身也是一个对象)

textarta 窗体里的文本区元素(<TEXTAREA>)(该属性本身也是一个对象)

方法

submit 提交窗体(与使用Submit按钮的作用相同)事件处理程序

onsubmit


  • frame对象

它是window对象的一个属性,窗口内的一个框架。除了个别例外,frame对象与window对象的作用相同。

属性

frames array 列举该框架内的各个子框架的一个数组(该属性本身也是—个对象)

length 该框架内的框架数

name 框架的名字(<FRAME>标记里的NAME特性)

parent 包含本框架的父窗口的同义词

self 当前框架的同义词

window 当前框架的同义词

方法 clearTimeout() 用来终止setTimeout方法的工作

setTimeout() 等待指定的毫秒数,然后运行指令

  • hidden对象

为form对象的一个属性,窗体内的一个隐藏元素(<INPUT TYPE=”HIDDEN”>)。

属性

name 标记内的名字(NAME特性)

value 标记内的VALUE=特性

  • history对象

它为window对象的一个属性,该窗口的历史列表。

属性

length 历史列表中的项目数

方法

back 加载历史列表中的上一个文档

forward 加载历史列表中的下一个文档

go 加载历史列表中的一个指定文档,通过文档在列表中的位置来指定


  • image对象

它是document对象的一个属性,是使用(1MG)标记内嵌入文档里的一幅图像这是Netscape Navigator 3.0 beta 3引入的新对象。

属性

border <IMG>标记的BORDER特性

complete 表示浏览器是否完整地加载了图像的一个布尔值

height HEIGHT特性

hspace HSPACE特性

lowsrc LOWSRC特性

src SRC特性

vsPace VSPACE特性

width WIDTH特性

事件处理程序

Onload 图象载入

Onerror 载入错误

Onabort 取消

  • location对象

它为document对象的一个属性,该文档的完整URL,请不要把它与window.location属性相混淆,后者可用来加载一个新文档,并且window.location属性本身并不是一个对象,同时,window.location可以用脚本修改,而document.location则不能。

属性

hash 以散列号(#)开始的一个字符串,用于指定URL内的一个锚点

host 包括冒号和端口号的URL的主机名部分

hostname 与host属性相同,除了不包括冒号和端口号之外

href 完整的URL

pathname URL的目录路径部分

port URL的:端口部分

protocol URL的类型(http:、ftp:、gopher:等等)

search 以问号(?)开始的URL中的一部分,用于指定搜索信息

target 用户单击链接(TARGET特性)时,用于显示被引用文档的内容的窗口

  • math对象

该对象不是其它对象的一个属性,而是一个内置对象,包含了许多数学常量和函数。

属性

E 欧拉常量,自然对数的底(约等于2.718)

LN2 2的自然对数(约等于0.693)

LN10 10的自然对数(约等于2.302)

LOG2E 以2为底的e的对数(约等于1.442)

LOG10E 以10为底的e的对数(约等于o.434)

PI ∏的值(约等于3.14159)

SQRT1_2 0.5的平方根(即l除以2的平方根,约等于o.707)

SQRT2 2的平方根(约等于1.414)

方法

abs() 返回某数的绝对值(即该数与o的距离,例如,2与一2的绝对值都是2)

acos() 返回某数的反余弦值(以弧度为单位)

asin() 返回某数的反正弦值(以弧度为单位)

atan() 返回某数的反正切值(以弧度为单位)

ceil() 返回与某数相等,或大于该数的最小整数(ceil(-22.22)返回-22;ceil22,22)返回23;ceil(22)返回22)

cos() 返回某数(以弧度为单位)的余弦值

exp() 返回en

floor() 与ceil相反(floor(一22.22)返回一23;floor(22.22)返回22; floor(22)返回22)

10g() 返回某数的自然对数(以e为底)

max() 返回两数间的较大值

min() 返回两数问的较小值

pow() 返回m的n次方(其中,m为底,n为指数)

random() 返回0和1之间的一个伪随机数(该方法仅在Netscape

Navigator的UNIX版本中有效)

round() 返回某数四舍五入之后的整数

sin() 返回某数(以弧度为单位)的正弦值

sqrt() 返回某数的平方根

tan() 返回某数的正切值

  • navigator对象

该对象不是其它对象的属性,而是一个内置对象它包含了有关加载文档的浏览器的信息。

属性

appCodeName 浏览器的代码名(例如,Mozilla)

appName 浏览器的名字

appVersion 浏览器的版本号

userAgent 由客户机送到服务器的用户与代理头标文本

方法

javaEnabled JavaScript中当前并没有该方法,但是不久之后将会添加上它将查看浏览器是否为兼容JavaScript的浏览器,如果是,继续查看JavaScript是否处于支持状态。

  • Password对象

它是document对象的一个属性,一个<INPUT TYPE=”PASSWORD”>标记。

属性

defaultValue password对象的缺省值(VAlUE=特性)

name 对象的名字(NAME=特性)

value 该域具有的当前值最初与VALUE=特性(defauttValue)相同,但是,如果脚本修改了该域中的值,则该值将改变

方法

focus 把焦点从该域移开

blur 把焦点移到该域

select 选择输入区域

  • radio对象

它是form对象的一个属性,窗体内的一组单选按钮(选项按钮)(<INPUT TYPE=”RADIO”>)。

属性

checked 复选框或选项按钮(单选按钮)的状态

defaultChecked 复选框或选项按钮(单选按钮)的缺省状态

length 一组单选按钮中的按钮数

name 对象的名字(NAME=特性)

value VALUE=特性

方法

click 模拟鼠标单击按钮

事件处理程序

onclick 点击

reset对象

它是form对象的一个属性,复位按钮(<INPUT TYPE=”RESET”>)。

属性

name 对象的名字(NAME=特性)

value VALUE=特性

方法

click 模拟鼠标单击按钮

事件处理程序

onclick 点击


select对象

它是form对象的一个属性,选择框(<SELECT>)。

属性

length 选项列表中的选项数(<OPTIONS>)

name 选项列表的名字(NAME特性)

options 列表中的选项数

selectedlndex 选项列表中已选中的<OPTION>的索引(位置)

text 选项列表中(OPTION)标记之后的文本

value 选项列表中的VALUE=特性

方法

blur 把焦点从选项列表中移走

focus 把焦点移到选项列表中

事件处理程序

Onblur 失去焦点时事件

onchange 更改

Onfocus 聚焦事件

  • string对象

它不是另一个对象的属性,而是一个内置对象,即一串字符字符串输入脚本中时必须位于引号内。

属性

length 字符串中的字符个数

方法

anchor() 用来把字符串转换到HTML锚点标记内(<A NAME=>)

big() 把字符串中的文本变成大字体(<BIG>)

blink() 把字符串中的文本变成闪烁字体(<BLINK>)

bold() 把字符串中的文本变成黑字体(<B>)

charAt() 寻找字符串中指定位置的一个字符

fixed() 把字符串中的文本变成固定间距字体(<TT>)

fontcolor() 改变字符串中文本的颜色(<FONT COLOR=>)

fontsize() 把字符串中的文本变成指定大小(<FONTSIZE=>)

indexOf() 用来搜索字符串中的某个特殊字符,并返回该字符的索引位置

italics() 把字符串中的文本变成斜字体(<I>)

lastlndexOf() 与indexof相似,但是向后搜索最后一个出现的字符

link() 用来把字符串转换到HTML链接标记中(<A HREF=>)

small() 把字符串中的文本变成小字体(<SMALL>)

strike() 把字符串中的文本变成划掉字体(<STRIKE>)

sub() 把字符串中的文本变成下标(subscript)字体((SUB>)

substring() 返回字符串里指定位置间的一部分字符串

sup() 把字符串中的文本变成上标(superscript)字体(<SUP>)

toLowerCase() 把字符串中的文本变成小写

toUpperCase() 把字符串中的文本变成大写
  • submit对象

它是form对象的一个属性,窗体中的一个提交按钮(<INPUT TYPE=”SUBMIT”>)。

属性

name 对象的名字(NAME=特性)

value VALUE=特性

方法

click 模拟鼠标单击按钮

事件处理程序

Onclick 点击


  • text对象

它是form对象的一个属性,宙体中的一个文本域(<INPUT TYPE=”TEXT”>)。

属性

defaultValue text对象的缺省值(VALUE=特性)

name 该对象的名字(NAME=特性)

Value 该域具有的当前值,最初与VALUE=特性(defaultValue)相同但是,如果脚本修改了该域中的值,则该值将改变

方法

blur 把焦点从文本框移开

focus 把焦点移到文本框

select 选择输入区域

事件处理程序

Onblur 失去焦点事件

Onchange 更改

Onfocus 聚焦事件

Onselect 选取事件

  • textarea对象

它是form对象的一个属性,宙体中的一个文本区域(<TEXTAREA>)。

属性

defaultValue textarea对象的缺省值(VALUE=特性)

name 该对象的名字(NAME=特性)

value 该域具有的当前值,最初与VALUE=特性(defaultValue)相同,但是,如果脚本修改了该域中的值,则该值将改变了。

方法

blur 把焦点从文本区移开

focus 把焦点移到文本区

select 选择输入区域事件处理程序

事件处理程序

Onblur 失去焦点事件

Onchange 更改

Onfocus 聚焦事件

Onselect 选取事件

  • window对象

它是一个顶层对象,而不是另一个对象的属性即浏览器的窗口。

属性

defaultStatus 缺省的状态条消息

document 当前显示的文档(该属性本身也是一个对象)

frame 窗口里的一个框架((FRAME>)(该属性本身也是一个对象)

frames array 列举窗口的框架对象的数组,按照这些对象在文档中出现的顺序列出(该属性本身也是一个对象)

history 窗口的历史列表(该属性本身也是一个对象)

length 窗口内的框架数

location 窗口所显示文档的完整(绝对)URL(该属性本身也是一个对象)不要把它与如document.location混淆,后者是当前显示文档的URL。用户可以改变window.location(用另一个文档取代当前文档),但却不能改变 document.location(因为这是当前显示文档的位置)

name 窗口打开时,赋予该窗口的名字

opener 代表使用window.open打开当前窗口的脚本所在的窗口(这是Netscape Navigator 3.0beta 3所引入的一个新属性)

parent 包含当前框架的窗口的同义词。frame和window对象的一个属性

self 当前窗口或框架的同义词

status 状态条中的消息

top 包含当前框架的最顶层浏览器窗口的同义词

window 当前窗口或框架的同义词,与self相同

方法

alert() 打开一个Alert消息框

clearTimeout() 用来终止setTimeout方法的工作

close() 关闭窗口

confirm() 打开一个Confirm消息框,用户可以选择OK或Cancel,如果用户单击OK,该方法返回true,单击Cancel返回false

blur() 把焦点从指定窗口移开(这是Netscape Navigator 3.0 beta 3引入的新方法)

focus() 把指定的窗口带到前台(另一个新方法)

open() 打开一个新窗口

prompt() 打开一个Prompt对话框,用户可向该框键入文本,并把键入的文本返回到脚本

setTimeout() 等待一段指定的毫秒数时间,然后运行指令事件处理程序

事件处理程序

Onload() 页面载入时触发

Onunload() 页面关闭时触发