JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,ECMAScript,描述了该语言的语法和基本对象。 文档对象模型(DOM),描述处理网页内容的方法和接口。浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。
常用于:
1.表单验证
2.HTML特效
3.异步数据交互
本文主要参考网站:http://www.w3school.com.cn/css/index.asp
一、JavaScript有三大内置对象,分别为字符串(String)、日期(Date)、数学(Math)
以下是各自的属性和方法的介绍:
1.字符串(String)
1.String 对象
String 对象用于处理文本(字符串)。
创建 String 对象的语法:
new String(s);
String(s);
参数
参数 s 是要存储在 String 对象中或转换成原始字符串的值。
返回值
当 String() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 String 对象,存放的是字符串 s 或 s 的字符串表示。
当不用 new 运算符调用 String() 时,它只把 s 转换成原始的字符串,并返回转换后的值。
String 对象属性
属性 |
描述 |
constructor |
对创建该对象的函数的引用 |
length |
字符串的长度 |
prototype |
允许您向对象添加属性和方法 |
String 对象方法
方法 |
描述 |
anchor() |
创建 HTML 锚。 |
big() |
用大号字体显示字符串。 |
blink() |
显示闪动字符串。 |
bold() |
使用粗体显示字符串。 |
charAt() |
返回在指定位置的字符。 |
charCodeAt() |
返回在指定的位置的字符的 Unicode 编码。 |
concat() |
连接字符串。 |
fixed() |
以打字机文本显示字符串。 |
fontcolor() |
使用指定的颜色来显示字符串。 |
fontsize() |
使用指定的尺寸来显示字符串。 |
fromCharCode() |
从字符编码创建一个字符串。 |
indexOf() |
检索字符串。 |
italics() |
使用斜体显示字符串。 |
lastIndexOf() |
从后向前搜索字符串。 |
link() |
将字符串显示为链接。 |
localeCompare() |
用本地特定的顺序来比较两个字符串。 |
match() |
找到一个或多个正则表达式的匹配。 |
replace() |
替换与正则表达式匹配的子串。 |
search() |
检索与正则表达式相匹配的值。 |
slice() |
提取字符串的片断,并在新的字符串中返回被提取的部分。 |
small() |
使用小字号来显示字符串。 |
split() |
把字符串分割为字符串数组。 |
strike() |
使用删除线来显示字符串。 |
sub() |
把字符串显示为下标。 |
substr() |
从起始索引号提取字符串中指定数目的字符。 |
substring() |
提取字符串中两个指定的索引号之间的字符。 |
sup() |
把字符串显示为上标。 |
toLocaleLowerCase() |
把字符串转换为小写。 |
toLocaleUpperCase() |
把字符串转换为大写。 |
toLowerCase() |
把字符串转换为小写。 |
toUpperCase() |
把字符串转换为大写。 |
toSource() |
代表对象的源代码。 |
toString() |
返回字符串。 |
valueOf() |
返回某个字符串对象的原始值。 |
String 对象描述
字符串是 JavaScript 的一种基本的数据类型。
String 对象的 length 属性声明了该字符串中的字符数。
String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。
需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。
在较早的 Netscape 代码基的 JavaScript 实现中(例如 Firefox 实现中),字符串的行为就像只读的字符数组。例如,从字符串 s 中提取第三个字符,可以用 s[2] 代替更加标准的 s.charAt(2)。此外,对字符串应用 for/in 循环时,它将枚举字符串中每个字符的数组下标(但要注意,ECMAScript 标准规定,不能枚举 length 属性)。因为字符串的数组行为不标准,所以应该避免使用它。
-
2.Date 对象
Date 对象用于处理日期和时间。
创建 Date 对象的语法:
var myDate=new Date()
注释:Date 对象会自动把当前日期和时间保存为其初始值。
Date 对象属性
属性 |
描述 |
constructor |
返回对创建此对象的 Date 函数的引用。 |
prototype |
使您有能力向对象添加属性和方法。 |
Date 对象方法
方法 |
描述 |
Date() |
返回当日的日期和时间。 |
getDate() |
从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() |
从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
getMonth() |
从 Date 对象返回月份 (0 ~ 11)。 |
getFullYear() |
从 Date 对象以四位数字返回年份。 |
getYear() |
请使用 getFullYear() 方法代替。 |
getHours() |
返回 Date 对象的小时 (0 ~ 23)。 |
getMinutes() |
返回 Date 对象的分钟 (0 ~ 59)。 |
getSeconds() |
返回 Date 对象的秒数 (0 ~ 59)。 |
getMilliseconds() |
返回 Date 对象的毫秒(0 ~ 999)。 |
getTime() |
返回 1970 年 1 月 1 日至今的毫秒数。 |
getTimezoneOffset() |
返回本地时间与格林威治标准时间 (GMT) 的分钟差。 |
getUTCDate() |
根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 |
getUTCDay() |
根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 |
getUTCMonth() |
根据世界时从 Date 对象返回月份 (0 ~ 11)。 |
getUTCFullYear() |
根据世界时从 Date 对象返回四位数的年份。 |
getUTCHours() |
根据世界时返回 Date 对象的小时 (0 ~ 23)。 |
getUTCMinutes() |
根据世界时返回 Date 对象的分钟 (0 ~ 59)。 |
getUTCSeconds() |
根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 |
getUTCMilliseconds() |
根据世界时返回 Date 对象的毫秒(0 ~ 999)。 |
parse() |
返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 |
setDate() |
设置 Date 对象中月的某一天 (1 ~ 31)。 |
setMonth() |
设置 Date 对象中月份 (0 ~ 11)。 |
setFullYear() |
设置 Date 对象中的年份(四位数字)。 |
setYear() |
请使用 setFullYear() 方法代替。 |
setHours() |
设置 Date 对象中的小时 (0 ~ 23)。 |
setMinutes() |
设置 Date 对象中的分钟 (0 ~ 59)。 |
setSeconds() |
设置 Date 对象中的秒钟 (0 ~ 59)。 |
setMilliseconds() |
设置 Date 对象中的毫秒 (0 ~ 999)。 |
setTime() |
以毫秒设置 Date 对象。 |
setUTCDate() |
根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 |
setUTCMonth() |
根据世界时设置 Date 对象中的月份 (0 ~ 11)。 |
setUTCFullYear() |
根据世界时设置 Date 对象中的年份(四位数字)。 |
setUTCHours() |
根据世界时设置 Date 对象中的小时 (0 ~ 23)。 |
setUTCMinutes() |
根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 |
setUTCSeconds() |
根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。 |
setUTCMilliseconds() |
根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 |
toSource() |
返回该对象的源代码。 |
toString() |
把 Date 对象转换为字符串。 |
toTimeString() |
把 Date 对象的时间部分转换为字符串。 |
toDateString() |
把 Date 对象的日期部分转换为字符串。 |
toGMTString() |
请使用 toUTCString() 方法代替。 |
toUTCString() |
根据世界时,把 Date 对象转换为字符串。 |
toLocaleString() |
根据本地时间格式,把 Date 对象转换为字符串。 |
toLocaleTimeString() |
根据本地时间格式,把 Date 对象的时间部分转换为字符串。 |
toLocaleDateString() |
根据本地时间格式,把 Date 对象的日期部分转换为字符串。 |
UTC() |
根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。 |
valueOf() |
返回 Date 对象的原始值。 |
3.Math 对象
Math 对象用于执行数学任务。
使用 Math 的属性和方法的语法:
var pi_value=Math.PI;
var sqrt_value=Math.sqrt(15);
注释:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。
Math 对象属性
属性 |
描述 |
E |
返回算术常量 e,即自然对数的底数(约等于2.718)。 |
LN2 |
返回 2 的自然对数(约等于0.693)。 |
LN10 |
返回 10 的自然对数(约等于2.302)。 |
LOG2E |
返回以 2 为底的 e 的对数(约等于 1.414)。 |
LOG10E |
返回以 10 为底的 e 的对数(约等于0.434)。 |
PI |
返回圆周率(约等于3.14159)。 |
SQRT1_2 |
返回返回 2 的平方根的倒数(约等于 0.707)。 |
SQRT2 |
返回 2 的平方根(约等于 1.414)。 |
Math 对象方法
方法 |
描述 |
abs(x) |
返回数的绝对值。 |
acos(x) |
返回数的反余弦值。 |
asin(x) |
返回数的反正弦值。 |
atan(x) |
以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) |
返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 |
ceil(x) |
对数进行上舍入。 |
cos(x) |
返回数的余弦。 |
exp(x) |
返回 e 的指数。 |
floor(x) |
对数进行下舍入。 |
log(x) |
返回数的自然对数(底为e)。 |
max(x,y) |
返回 x 和 y 中的最高值。 |
min(x,y) |
返回 x 和 y 中的最低值。 |
pow(x,y) |
返回 x 的 y 次幂。 |
random() |
返回 0 ~ 1 之间的随机数。 |
round(x) |
把数四舍五入为最接近的整数。 |
sin(x) |
返回数的正弦。 |
sqrt(x) |
返回数的平方根。 |
tan(x) |
返回角的正切。 |
toSource() |
返回该对象的源代码。 |
valueOf() |
返回 Math 对象的原始值。 |
4.全局函数(function)
全局属性和函数可用于所有内建的 JavaScript 对象。
顶层函数(全局函数)
函数 |
描述 |
decodeURI() |
解码某个编码的 URI。 |
decodeURIComponent() |
解码一个编码的 URI 组件。 |
encodeURI() |
把字符串编码为 URI。 |
encodeURIComponent() |
把字符串编码为 URI 组件。 |
escape() |
对字符串进行编码。 |
eval() |
计算 JavaScript 字符串,并把它作为脚本代码来执行。 |
getClass() |
返回一个 JavaObject 的 JavaClass。 |
isFinite() |
检查某个值是否为有穷大的数。 |
isNaN() |
检查某个值是否是数字。 |
Number() |
把对象的值转换为数字。 |
parseFloat() |
解析一个字符串并返回一个浮点数。 |
parseInt() |
解析一个字符串并返回一个整数。 |
String() |
把对象的值转换为字符串。 |
unescape() |
对由 escape() 编码的字符串进行解码。 |
顶层属性(全局属性)
方法 |
描述 |
Infinity |
代表正的无穷大的数值。 |
java |
代表 java.* 包层级的一个 JavaPackage。 |
NaN |
指示某个值是不是数字值。 |
Packages |
根 JavaPackage 对象。 |
undefined |
指示未定义的值。 |
全局对象描述
全局对象是预定义的对象,作为 JavaScript 的全局函数和全局属性的占位符。通过使用全局对象,可以访问所有其他所有预定义的对象、函数和属性。全局对象不是任何对象的属性,所以它没有名称。
在顶层 JavaScript 代码中,可以用关键字 this 引用全局对象。但通常不必用这种方式引用全局对象,因为全局对象是作用域链的头,这意味着所有非限定性的变量和函数名都会作为该对象的属性来查询。例如,当JavaScript 代码引用 parseInt() 函数时,它引用的是全局对象的 parseInt 属性。全局对象是作用域链的头,还意味着在顶层 JavaScript 代码中声明的所有变量都将成为全局对象的属性。
全局对象只是一个对象,而不是类。既没有构造函数,也无法实例化一个新的全局对象。
在 JavaScript 代码嵌入一个特殊环境中时,全局对象通常具有环境特定的属性。实际上,ECMAScript 标准没有规定全局对象的类型,JavaScript 的实现或嵌入的 JavaScript 都可以把任意类型的对象作为全局对象,只要该对象定义了这里列出的基本属性和函数。例如,在允许通过 LiveConnect 或相关的技术来脚本化 Java 的 JavaScript 实现中,全局对象被赋予了这里列出的 java 和 Package 属性以及 getClass() 方法。而在客户端 JavaScript 中,全局对象就是 Window 对象,表示允许 JavaScript 代码的 Web 浏览器窗口。
例子
在 JavaScript 核心语言中,全局对象的预定义属性都是不可枚举的,所有可以用 for/in 循环列出所有隐式或显式声明的全局变量,如下所示:
var variables = "";
for (var name in this)
{
variables += name + "
";
}
document.write(variables);
5.JS event(事件)
事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。
事件句柄
HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元素时启动一段 JavaScript。下面是一个属性列表,这些属性可插入 HTML 标签来定义事件动作。
属性 |
当以下情况发生时,出现此事件 |
FF |
N |
IE |
onabort |
图像加载被中断 |
1 |
3 |
4 |
onblur |
元素失去焦点 |
1 |
2 |
3 |
onchange |
用户改变域的内容 |
1 |
2 |
3 |
onclick |
鼠标点击某个对象 |
1 |
2 |
3 |
ondblclick |
鼠标双击某个对象 |
1 |
4 |
4 |
onerror |
当加载文档或图像时发生某个错误 |
1 |
3 |
4 |
onfocus |
元素获得焦点 |
1 |
2 |
3 |
onkeydown |
某个键盘的键被按下 |
1 |
4 |
3 |
onkeypress |
某个键盘的键被按下或按住 |
1 |
4 |
3 |
onkeyup |
某个键盘的键被松开 |
1 |
4 |
3 |
onload |
某个页面或图像被完成加载 |
1 |
2 |
3 |
onmousedown |
某个鼠标按键被按下 |
1 |
4 |
4 |
onmousemove |
鼠标被移动 |
1 |
6 |
3 |
onmouseout |
鼠标从某元素移开 |
1 |
4 |
4 |
onmouseover |
鼠标被移到某元素之上 |
1 |
2 |
3 |
onmouseup |
某个鼠标按键被松开 |
1 |
4 |
4 |
onreset |
重置按钮被点击 |
1 |
3 |
4 |
onresize |
窗口或框架被调整尺寸 |
1 |
4 |
4 |
onselect |
文本被选定 |
1 |
2 |
3 |
onsubmit |
提交按钮被点击 |
1 |
2 |
3 |
onunload |
用户退出页面 |
1 |
2 |
3 |
二、BOM对象(Browser object model 浏览器对象模型)
在BOM对象中,包含有window、navigator、screen、history、location等对象。
1.window对象
1.Window 对象集合
集合 |
描述 |
frames[] |
返回窗口中所有命名的框架。 该集合是 Window 对象的数组,每个 Window 对象在窗口中含有一个框架或 |
Window 对象属性
属性 |
描述 |
closed |
返回窗口是否已被关闭。 |
defaultStatus |
设置或返回窗口状态栏中的默认文本。 |
document |
对 Document 对象的只读引用。请参阅 Document 对象。 |
history |
对 History 对象的只读引用。请参数 History 对象。 |
innerheight |
返回窗口的文档显示区的高度。 |
innerwidth |
返回窗口的文档显示区的宽度。 |
length |
设置或返回窗口中的框架数量。 |
location |
用于窗口或框架的 Location 对象。请参阅 Location 对象。 |
name |
设置或返回窗口的名称。 |
Navigator |
对 Navigator 对象的只读引用。请参数 Navigator 对象。 |
opener |
返回对创建此窗口的窗口的引用。 |
outerheight |
返回窗口的外部高度。 |
outerwidth |
返回窗口的外部宽度。 |
pageXOffset |
设置或返回当前页面相对于窗口显示区左上角的 X 位置。 |
pageYOffset |
设置或返回当前页面相对于窗口显示区左上角的 Y 位置。 |
parent |
返回父窗口。 |
Screen |
对 Screen 对象的只读引用。请参数 Screen 对象。 |
self |
返回对当前窗口的引用。等价于 Window 属性。 |
status |
设置窗口状态栏的文本。 |
top |
返回最顶层的先辈窗口。 |
window |
window 属性等价于 self 属性,它包含了对窗口自身的引用。 |
- screenLeft
- screenTop
- screenX
- screenY
|
只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。 |
Window 对象方法
方法 |
描述 |
alert() |
显示带有一段消息和一个确认按钮的警告框。 |
blur() |
把键盘焦点从顶层窗口移开。 |
clearInterval() |
取消由 setInterval() 设置的 timeout。 |
clearTimeout() |
取消由 setTimeout() 方法设置的 timeout。 |
close() |
关闭浏览器窗口。 |
confirm() |
显示带有一段消息以及确认按钮和取消按钮的对话框。 |
createPopup() |
创建一个 pop-up 窗口。 |
focus() |
把键盘焦点给予一个窗口。 |
moveBy() |
可相对窗口的当前坐标把它移动指定的像素。 |
moveTo() |
把窗口的左上角移动到一个指定的坐标。 |
open() |
打开一个新的浏览器窗口或查找一个已命名的窗口。 |
print() |
打印当前窗口的内容。 |
prompt() |
显示可提示用户输入的对话框。 |
resizeBy() |
按照指定的像素调整窗口的大小。 |
resizeTo() |
把窗口的大小调整到指定的宽度和高度。 |
scrollBy() |
按照指定的像素值来滚动内容。 |
scrollTo() |
把内容滚动到指定的坐标。 |
setInterval() |
按照指定的周期(以毫秒计)来调用函数或计算表达式。 |
setTimeout() |
在指定的毫秒数后调用函数或计算表达式。 |
Window 对象描述
Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写document,而不必写 window.document。
同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 Window.alert()。
除了上面列出的属性和方法,Window 对象还实现了核心 JavaScript 所定义的所有全局属性和方法。
Window 对象的 window 属性和 self 属性引用的都是它自己。当你想明确地引用当前窗口,而不仅仅是隐式地引用它时,可以使用这两个属性。除了这两个属性之外,parent 属性、top 属性以及 frame[] 数组都引用了与当前 Window 对象相关的其他 Window 对象。
要引用窗口中的一个框架,可以使用如下语法:
frame[i] //当前窗口的框架
self.frame[i] //当前窗口的框架
w.frame[i] //窗口 w 的框架
要引用一个框架的父窗口(或父框架),可以使用下面的语法:
parent //当前窗口的父窗口
self.parent //当前窗口的父窗口
w.parent //窗口 w 的父窗口
要从顶层窗口含有的任何一个框架中引用它,可以使用如下语法:
top //当前框架的顶层窗口
self.top //当前框架的顶层窗口
f.top //框架 f 的顶层窗口
新的顶层浏览器窗口由方法 Window.open() 创建。当调用该方法时,应把 open() 调用的返回值存储在一个变量中,然后使用那个变量来引用新窗口。新窗口的opener 属性反过来引用了打开它的那个窗口。
一般来说,Window 对象的方法都是对浏览器窗口或框架进行某种操作。而 alert() 方法、confirm() 方法和 prompt 方法则不同,它们通过简单的对话框与用户进行交互。
2.Navigator 对象
Navigator 对象
Navigator 对象包含有关浏览器的信息。
注释:没有应用于 navigator 对象的公开标准,不过所有浏览器都支持该对象。
Navigator 对象集合
集合 |
描述 |
plugins[] |
返回对文档中所有嵌入式对象的引用。 该集合是一个 Plugin 对象的数组,其中的元素代表浏览器已经安装的插件。Plug-in 对象提供的是有关插件的信息,其中包括它所支持的 MIME 类型的列表。 虽然 plugins[] 数组是由 IE 4 定义的,但是在 IE 4 中它却总是空的,因为 IE 4 不支持插件和 Plugin 对象。 |
Navigator 对象属性
属性 |
描述 |
appCodeName |
返回浏览器的代码名。 |
appMinorVersion |
返回浏览器的次级版本。 |
appName |
返回浏览器的名称。 |
appVersion |
返回浏览器的平台和版本信息。 |
browserLanguage |
返回当前浏览器的语言。 |
cookieEnabled |
返回指明浏览器中是否启用 cookie 的布尔值。 |
cpuClass |
返回浏览器系统的 CPU 等级。 |
onLine |
返回指明系统是否处于脱机模式的布尔值。 |
platform |
返回运行浏览器的操作系统平台。 |
systemLanguage |
返回 OS 使用的默认语言。 |
userAgent |
返回由客户机发送服务器的 user-agent 头部的值。 |
userLanguage |
返回 OS 的自然语言设置。 |
Navigator 对象方法
方法 |
描述 |
javaEnabled() |
规定浏览器是否启用 Java。 |
taintEnabled() |
规定浏览器是否启用数据污点 (data tainting)。 |
Navigator 对象描述
Navigator 对象包含的属性描述了正在使用的浏览器。可以使用这些属性进行平台专用的配置。
虽然这个对象的名称显而易见的是 Netscape 的 Navigator 浏览器,但其他实现了 JavaScript 的浏览器也支持这个对象。
Navigator 对象的实例是唯一的,可以用 Window 对象的 navigator 属性来引用它。
3.Screen 对象
Screen 对象包含有关客户端显示屏幕的信息。
注释:没有应用于 screen 对象的公开标准,不过所有浏览器都支持该对象。
Screen 对象属性
属性 |
描述 |
availHeight |
返回显示屏幕的高度分辨率 (除 Windows 任务栏之外)。 |
availWidth |
返回显示屏幕的宽度分辨率 (除 Windows 任务栏之外)。 |
bufferDepth |
设置或返回调色板的比特深度。 |
colorDepth |
返回目标设备或缓冲器上的调色板的比特深度。 |
deviceXDPI |
返回显示屏幕的每英寸水平点数。 |
deviceYDPI |
返回显示屏幕的每英寸垂直点数。 |
fontSmoothingEnabled |
返回用户是否在显示控制面板中启用了字体平滑。 |
height |
返回显示屏幕的高度的分辨率。 |
logicalXDPI |
返回显示屏幕每英寸的水平方向的常规点数。 |
logicalYDPI |
返回显示屏幕每英寸的垂直方向的常规点数。 |
pixelDepth |
返回显示屏幕的颜色分辨率(比特每像素)。 |
updateInterval |
设置或返回屏幕的刷新率。 |
width |
返回显示器屏幕的宽度的分辨率。 |
Screen 对象描述
每个 Window 对象的 screen 属性都引用一个 Screen 对象。Screen 对象中存放着有关显示浏览器屏幕的信息。JavaScript 程序将利用这些信息来优化它们的输出,以达到用户的显示要求。例如,一个程序可以根据显示器的尺寸选择使用大图像还是使用小图像,它还可以根据显示器的颜色深度选择使用 16 位色还是使用 8 位色的图形。另外,JavaScript 程序还能根据有关屏幕尺寸的信息将新的浏览器窗口定位在屏幕中间。