了解 JavaScript
3.JavaScript 对象
- JavaScript 中的对象是对客观事物或事物之间关系的描述,对象可以是一段文字、一幅图片、一个表单,每个对象有它自己的属性、方法和事件。对象的属性是指该对象具有的特性;对象的方法指对象具有的行为;对象的事件指外届对该对象所做的动作,例如单击 button 产生的“点击事件”。JavaScript 中可以使用以下几种对象:
- 内置对象,例如,Date、Math、String
- 用户自定义对象
- 由浏览器根据页面内容自动提供的对象
- 服务器上固有的对象
- 在 JavaScript 中提供了几个对象处理的语句,例如,this(返回当前对象)、with(为一个或一组语句指定默认对象)、new(创建对象)等。但 JavaScript 没有提供继承、重载等面向对象语言所具有的功能,所以它只是基于面向对象的语言。
(1)创建对象
- 在 JavaScript 中创建一个新对象,首先需定义一个类,然后在为该类创建一个实例。定义类用关键字 function,格式如下:
function 类名(类中属性的值的集合)
{
属性定义、赋值
方法定义
}
- 创建对象使用关键字 new,格式为:
对象实例名 = new 类名(参数表);
- 例如,定义一个类 person,并定义该类对象,代码如下:
function person(name,age,sex,depart)
{
this.name = name;
this.age = age;
this.sex = sex;
this.depart = depart;
}
sample = new person("peter",22,"male","personnel department")
(2)引用对象属性
- 引用对象属性的语法格式为:
对象名.属性名
(3)引用对象方法
- 引用对象方法的语法格式为:
对象名.方法名
(4)删除对象
- 删除对象用 delete 运算符。例如删除前面创建的对象 sample:
delete sample;
(5)内置对象
- 下面介绍几种内置对象:
【String 对象】
- String 对象即字符串对象,用于处理和格式化文本字符串,以及确定和定位子串
- 属性: length:保存字符串的长度。格式为:
字符串对象名.length;
。例如:var str = “hello”; 则 str.length 的值是5 - 方法: 下面介绍下几个方法
方法 | 作用 |
charAt(position) | 返回该字符串在 position 位的字符 |
indexOf(substring[,startpos]) | 返回字符串中第 startpos 位开始的第一个子串 substring 的位置,如果该子串存在,就返回它的位置,不存在就返回 -1 |
lastIndexOf(substring[,startpos]) | 与 indexOf 相似,不过是从 startpos 位开始从后边往前查找第一个 substring 出现的位置 |
split(字符串分隔符集合) | 返回一个数组,该数组的值是按“字符串分隔符”从原字符串对象中分离开来的子串 |
substring(startpos[,endpos]) | 返回原字符串的子串,子串是原字符串从 startpos 位置到 endpos 位置的字符序列。如果没有指定 endpos 或指定的超过字符串长度,则子字符串一直取到原字符串尾;如果所指定的位置不能返回字符串,则返回空字符串 |
toLowerCase() | 返回把原字符串所有大写字母都变成小写字母的字符串 |
toUpperCase() | 返回把原字符串所有小写字母都变成大写字母的字符串 |
【Array 对象】
- Array 对象即数组对象,是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在下标的位置。创建数组有两种方法:
arrName = new Array(element0,element1,...,elementN)
arrName = new Array(arrLength)
- JavaScript 数组的使用和其他语言类似。
- 属性: length:返回数组的长度
- 方法:
方法 | 作用 |
join(分隔符) | 返回一个字符串,该字符串把数组中的各个元素串起来,用分隔符置于元素与元素之间 |
reverse() | 返回将原数组元素顺序反转后的新数组 |
sort() | 返回排序后的新数组 |
【Math 对象】
- Math 对象即算术对象,提供常用的数学变量和数学函数
- 例如,E 返回2.718281828…,PI 返回3.1415926535…,abs(x) 返回 x 的绝对值,max(a,b) 返回 a、b 中较大的数,random() 返回大于0小于1的一个随机数。
【Date 对象】
- Date 对象即日期对象,可以存储任意一个日期,从0001年到9999年,并且可以精确到毫秒级(0.001秒)。Date 对象有许多方法来设置、提取和操作时间。
(6)文档对象
- 文档对象是指在网页文档里划分出来的对象,在 JavaScript 中文档对象主要有 window、document、location、navigator、screen、history等。
【navigator 对象】
- navigator 对象即浏览器对象,包含了当前使用浏览器的版本信息。
属性 | 作用 |
appName | 返回浏览器的名字 |
appVersion | 返回浏览器的版本 |
platform | 返回浏览器的操作系统平台 |
javaEnabled | 返回一个布尔值,代表当前浏览器是否允许使用 Java |
- navigator.html 代码示例如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>navigator 对象使用</title>
<script language = "JavaScript">
document.write("浏览器是:" + navigator.appName + "<br>");
document.write("浏览器版本是:" + navigator.appVersion + "<br>");
document.write("浏览器所处操作系统是:" + navigator.platform +"<br>");
if(document.javaEnabled == true){
document.write("你的浏览器允许使用 Java");
}else{
document.write("你的浏览器不允许使用 Java");
}
</script>
</head>
<body>
</body>
</html>
- 页面效果如下:
【screen 对象】
- screen 对象即屏幕对象,包含了当前用户的屏幕设置信息
属性 | 作用 |
width | 返回屏幕的宽度,单位为像素 |
height | 返回屏幕的高度,单位为像素 |
colorDepth | 保存当前颜色设置,取值可为 -1(黑白)、8(256色)、16(增强色)、24/32(真彩色) |
【window 对象】
- window 对象即窗口对象,它是所有对象的“父”对象,可以在 JavaScript 应用程序中创建多个窗口,而一个框架页面就是一个窗口
方法 | 作用 |
open(参数表) | 该方法用来创建一个新的窗口,其中参数表提供窗口的尺寸、内容以及是否有按钮、地址框等属性 |
close() | 该方法用来关闭一个窗口。其中,window.close() 或 self.close() 用来关闭当前窗口;窗口对象名.close() 用来关闭指定的窗口 |
alert(字符串) | 该方法弹出一个只包含“确定”按钮的对话框,并显示“字符串”的内容,同时整个文档的读取和 Script 的运行暂停,直到用户单击“确定”按钮 |
confirm(字符串) | 该方法弹出一个包含“确定”和“取消”按钮的对话框,并显示“字符串”的内容,同时整个文档的读取和 Script 的运行暂停,等待用户的选择。如果用户单击“确定”按钮,则返回 true;如果单击“取消”按钮,则返回 false |
prompt(字符串[,初始值]) | 该方法弹出一个包含“确认”按钮、“取消”按钮和一个文本框的对话框,并显示“字符串”的内容,要求用户在文本框中输入数据,同时整个文档的读取和 Script 的运行暂停。如果用户单击“确认”按钮,则返回文本框里已有的内容,如果用户单击“取消”按钮,则返回 null 值。如果指定“初始值”,则文本框里将用初始值作为默认值 |
blur()和focus() | 是窗口失去或得到焦点 |
scrollTo(x,y) | 该方法使窗口滚动到指定的坐标 |
【history 对象】
- history 对象即历史对象,包含浏览器的浏览历史。其 length 属性返回历史记录的项数
【location 对象】
- location 对象即地址对象,它描述的是某一个窗口对象所打开页面的 URL 地址信息
属性/方法 | 作用 |
protocol | 返回地址的协议,取值为 http、https、file等 |
hostname | 返回地址的主机名 |
reload() | 强制窗口重载当前文档 |
replace() | 从当前历史记录装载指定的 URL |
【document 对象】
- document 对象即文档对象,它描述当前窗口或指定窗口对象从
<head>
到</body>
的文档信息
方法 | 作用 |
open() | 打开文档 |
write()/writeln() | 想文档写入数据。writeln 在写入数据后换行 |
clear() | 清空当前文档 |
close() | 关闭文档,停止写入数据 |
4.JavaScript 事件
- 用户与网页交互时产生的动作,称为事件。事件可以由用户引发,例如,用户单击鼠标按钮引发 click 事件;事件也可以有页面自身引发。事件引发后说知心的程序或函数称为事件处理程序,指定事件的处理程序的一般方法是直接在 HTML 标签中指明函数名或程序,格式为:
<标签... ... 事件="事件处理程序" [事件="事件处理程序" ... ...]>
- 经常引发的事件如下:
事件 | 作用 |
onfocus | 窗口获得焦点时引发,应用于 window 对象 |
onload | 文档全部载入时引发,应用于 window 对象,写在 |
onmousedown | 鼠标在对象上按下时引发,应用于 Button 对象、Link 对象 |
onmouseout | 鼠标离开对象时引发,应用于 link 对象 |
onmouseover 对象 | 鼠标进入对象时引发,应用于 Link对象 |
onmouseup | 鼠标在对象上按下后弹起时引发,应用于 Button 对象、Link对象 |
onreset | “重置”按钮被单击时引发,应用于 Form 对象 |
onresize | 窗口被调整时引发,应用于 window 对象 |
onsubmit | “提交”按钮被单击时引发,应用于 Form 对象 |
onunload | 写在文档时引发,应用于 window 对象,写在 |