Array 对象
Array 对象用于在单个的变量中存储多个值。
创建 Array 对象的语法:
new Array(); new Array(size); new Array(element0, element0, ..., elementn);
Array 对象属性
FF: Firefox, IE: Internet Explorer
属性 | 描述 | FF | IE |
---|---|---|---|
constructor | 返回对创建此对象的数组函数的引用。 | 1 | 4 |
index | 1 | 4 | |
input | 1 | 4 | |
length | 设置或返回数组中元素的数目。 | 1 | 4 |
prototype | 使您有能力向对象添加属性和方法。 | 1 | 4 |
Array 对象方法
FF: Firefox, IE: Internet Explorer
方法 | 描述 | FF | IE |
---|---|---|---|
concat() | 连接两个或更多的数组,并返回结果。 | 1 | 4 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 | 1 | 4 |
pop() | 删除并返回数组的最后一个元素 | 1 | 5.5 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 | 1 | 5.5 |
reverse() | 颠倒数组中元素的顺序。 | 1 | 4 |
shift() | 删除并返回数组的第一个元素 | 1 | 5.5 |
slice() | 从某个已有的数组返回选定的元素 | 1 | 4 |
sort() | 对数组的元素进行排序 | 1 | 4 |
splice() | 删除元素,并向数组添加新元素。 | 1 | 5.5 |
toSource() | 返回该对象的源代码。 | 1 | - |
toString() | 把数组转换为字符串,并返回结果。 | 1 | 4 |
toLocaleString() | 把数组转换为本地数组,并返回结果。 | 1 | 4 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 | 1 | 6 |
valueOf() | 返回数组对象的原始值 | 1 | 4 |
Boolean 对象
Boolean 对象表示两个值:"true" 或 "false"。
创建 Boolean 对象的语法:
new Boolean(value); //构造函数 Boolean(value); //转换函数
Date 对象
Date 对象用于处理日期和时间。
创建 Date 对象的语法:
var myDate=new Date()
注释:Date 对象会自动把当前日期和时间保存为其初始值。
Math 对象
Math 对象用于执行数学任务。
使用 Math 的属性和方法的语法:
var pi_value=Math.PI; var sqrt_value=Math.sqrt(15);
注释:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。
Number 对象
Number 对象是原始数值的包装对象。
创建 Number 对象的语法:
var myNum=new Number(value); var myNum=Number(value);
String 对象
String 对象用于处理文本(字符串)。
创建 String 对象的语法:
new String(s); String(s);
参数
参数 s 是要存储在 String 对象中或转换成原始字符串的值。
String 对象属性
FF: Firefox, IE: Internet Explorer
属性 | 描述 | FF | IE |
---|---|---|---|
constructor | 对创建该对象的函数的引用 | 1 | 4 |
length | 字符串的长度 | 1 | 3 |
prototype | 允许您向对象添加属性和方法 | 1 | 4 |
String 对象方法
FF: Firefox, IE: Internet Explorer
方法 | 描述 | FF | IE |
---|---|---|---|
anchor() | 创建 HTML 锚。 | 1 | 3 |
big() | 用大号字体显示字符串。 | 1 | 3 |
blink() | 显示闪动字符串。 | 1 | |
bold() | 使用粗体显示字符串。 | 1 | 3 |
charAt() | 返回在指定位置的字符。 | 1 | 3 |
charCodeAt() | 返回在指定的位置的字符的 Unicode 编码。 | 1 | 4 |
concat() | 连接字符串。 | 1 | 4 |
fixed() | 以打字机文本显示字符串。 | 1 | 3 |
fontcolor() | 使用指定的颜色来显示字符串。 | 1 | 3 |
fontsize() | 使用指定的尺寸来显示字符串。 | 1 | 3 |
fromCharCode() | 从字符编码创建一个字符串。 | 1 | 4 |
indexOf() | 检索字符串。 | 1 | 3 |
italics() | 使用斜体显示字符串。 | 1 | 3 |
lastIndexOf() | 从后向前搜索字符串。 | 1 | 3 |
link() | 将字符串显示为链接。 | 1 | 3 |
localeCompare() | 用本地特定的顺序来比较两个字符串。 | 1 | 4 |
match() | 找到一个或多个正在表达式的匹配。 | 1 | 4 |
replace() | 替换与正则表达式匹配的子串。 | 1 | 4 |
search() | 检索与正则表达式相匹配的值。 | 1 | 4 |
slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分。 | 1 | 4 |
small() | 使用小字号来显示字符串。 | 1 | 3 |
split() | 把字符串分割为字符串数组。 | 1 | 4 |
strike() | 使用删除线来显示字符串。 | 1 | 3 |
sub() | 把字符串显示为下标。 | 1 | 3 |
substr() | 从起始索引号提取字符串中指定数目的字符。 | 1 | 4 |
substring() | 提取字符串中两个指定的索引号之间的字符。 | 1 | 3 |
sup() | 把字符串显示为上标。 | 1 | 3 |
toLocaleLowerCase() | 把字符串转换为小写。 | - | - |
toLocaleUpperCase() | 把字符串转换为大写。 | - | - |
toLowerCase() | 把字符串转换为小写。 | 1 | 3 |
toUpperCase() | 把字符串转换为大写。 | 1 | 3 |
toSource() | 代表对象的源代码。 | 1 | - |
toString() | 返回字符串。 | - | - |
valueOf() | 返回某个字符串对象的原始值。 | 1 | 4 |
RegExp 对象
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
直接量语法
/pattern/attributes
创建 RegExp 对象的语法:
new RegExp(pattern, attributes);
参数
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。
返回值
一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。
抛出
SyntaxError - 如果 pattern 不是合法的正则表达式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,抛出该异常。
TypeError - 如果 pattern 是 RegExp 对象,但没有省略 attributes 参数,抛出该异常。
方括号
方括号用于查找某个范围内的字符:
表达式 | 描述 |
---|---|
[abc] | 查找方括号之间的任何字符。 |
[^abc] | 查找任何不在方括号之间的字符。 |
[0-9] | 查找任何从 0 至 9 的数字。 |
[a-z] | 查找任何从小写 a 到小写 z 的字符。 |
[A-Z] | 查找任何从大写 A 到大写 Z 的字符。 |
[a-Z] | 查找任何从小写 a 到大写 Z 的字符。 |
[adgk] | 查找给定集合内的任何字符。 |
[^adgk] | 查找给定集合外的任何字符。 |
[red|blue|green] | 查找任何指定的选项。 |
元字符
元字符(Metacharacter)是拥有特殊含义的字符:
元字符 | 描述 |
---|---|
. | 查找单个字符,除了换行和行结束符。 |
\w | 查找单词字符。 |
\W | 查找非单词字符。 |
\d | 查找数字。 |
\D | 查找非数字字符。 |
\s | 查找空白字符。 |
\S | 查找非空白字符。 |
\b | 查找位于单词的开头或结尾的匹配。 |
\B | 查找不处在单词的开头或结尾的匹配。 |
\0 | 查找 NUL 字符。 |
\n | 查找换行符。 |
\f | 查找换页符。 |
\r | 查找回车符。 |
\t | 查找制表符。 |
\v | 查找垂直制表符。 |
\xxx | 查找以八进制数 xxx 规定的字符。 |
\xdd | 查找以十六进制数 dd 规定的字符。 |
\uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。 |
量词
量词 | 描述 |
---|---|
n+ | 匹配任何包含至少一个 n 的字符串。 |
n* | 匹配任何包含零个或多个 n 的字符串。 |
n? | 匹配任何包含零个或一个 n 的字符串。 |
n{X} | 匹配包含 X 个 n 的序列的字符串。 |
n{X,Y} | 匹配包含 X 或 Y 个 n 的序列的字符串。 |
n{X,} | 匹配包含至少 X 个 n 的序列的字符串。 |
n$ | 匹配任何结尾为 n 的字符串。 |
^n | 匹配任何开头为 n 的字符串。 |
?=n | 匹配任何其后紧接指定字符串 n 的字符串。 |
?!n | 匹配任何其后没有紧接指定字符串 n 的字符串。 |
RegExp 对象属性
FF: Firefox, IE: Internet Explorer
属性 | 描述 | FF | IE |
---|---|---|---|
global | RegExp 对象是否具有标志 g。 | 1 | 4 |
ignoreCase | RegExp 对象是否具有标志 i。 | 1 | 4 |
lastIndex | 一个整数,标示开始下一次匹配的字符位置。 | 1 | 4 |
multiline | RegExp 对象是否具有标志 m。 | 1 | 4 |
source | 正则表达式的源文本。 | 1 | 4 |
RegExp 对象方法
FF: Firefox, IE: Internet Explorer
方法 | 描述 | FF | IE |
---|---|---|---|
compile | 编译正则表达式。 | 1 | 4 |
exec | 检索字符串中指定的值。返回找到的值,并确定其位置。 | 1 | 4 |
test | 检索字符串中指定的值。返回 true 或 false。 | 1 | 4 |
支持正则表达式的 String 对象的方法
FF: Firefox, IE: Internet Explorer
方法 | 描述 | FF | IE |
---|---|---|---|
search | 检索与正则表达式相匹配的值。 | 1 | 4 |
match | 找到一个或多个正则表达式的匹配。 | 1 | 4 |
replace | 替换与正则表达式匹配的子串。 | 1 | 4 |
split | 把字符串分割为字符串数组。 | 1 | 4 |
事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。
事件句柄
HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元素时启动一段 JavaScript。下面是一个属性列表,这些属性可插入 HTML 标签来定义事件动作。
FF: Firefox, N: Netscape, IE: Internet Explorer
属性 | 当以下情况发生时,出现此事件 | 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 |
特点:
安全性:不允许直接访问本地硬盘,可做的就是信息的动态交互
JavaScript与Java的不同:
1、js是NetScape的产品,Java是SUN的产品
2、js是基于对象的,Java是面向对象的
3、js只需解释就可执行,Java需要先编译成字节码文件后再执行
4、js是弱类型语言,Java是强类型的
JavaScript与HTML代码的结合方式:任何代码要融入HTML代码中都是通过标签形式
1、将js代码存放在标签对<script></script>中,规范要求加type属性,以前是language属性
<script type=”text/javascript”> js代码 </script>
2、将js代码封装成js文件,提高复用性
<script type=”text/javascript” src=”1.js”></script>
变量通过关键字var定义,弱类型语言不需要指定具体数据类型
特殊常量:undefined 变量没有初始化时值就是它
数组:var arr = [1, 2, ‘abc’, 3.53] 数组长度是可变的,没有越界问题,其他值为undefined
var arr = new Array() 数组内可存放任意类型元素,推荐元素类型一致
var arr = [[1, 0, 3], [true, ‘abc’]]; 二维数组
js中的数组就相当于Java中的集合
函数:function 函数名(参数列表){js代码}
JavaScript函数没有重载形式,参数可随意传递,函数内部默认有一个arguments数组用来接收传入的参数,参数个数尽量保持一致
alert(函数名)可将函数内容打印出来,包括注释
动态函数:var fun = new Function(“x”, “y”, “var sum=x+y; return sum;”); var a = fun(3,2);
函数的参数和函数体都可以通过字符串变量来动态修改
匿名函数:同Java,多用于事件处理
可以通过函数形式来模拟Java,创建对象
function Person()
{
alert(“person init”);
}
var p = new Person();
上面会调用Person的方法
可以给p添加属性和方法
p.name = “张三”
p.age = 30;
p.eat = function(){}
引用name属性可用
p.name 或p[“name”]
也可像Java一样使用this来完成对象构造
简化操作的with语句和for…in语句
with用于确定对象的作用范围
with(对象){可直接调用对象的属性和方法,不用加对象名}
for…in语句用于遍历对象或数组
for((变量)s in (学生对象)stu){alert(s)}此处打印出stu的属性,要获得属性值用stu[s]
for(x in array) alert(x)打印的是数组角标
JavaScript的内部对象:Object、String、Array、Math……
String:长度为length属性,不是方法
方法有:toUpperCase() toLowerCase() CharAt() indexOf() lastIndexOf()
split() replace() substring(start, end) substr(start, length)
math()正则表达式匹配 bold()给字符串两边加上<b></b>标签
fontColor() fontSize() sub() sup() link(“URL”)都是加标签的
Math:random()产生0~1之间的伪随机数,含0不含1,可能为0,但总小于1,为小数
怎么产生1—10之间的整数呢?random()*10+1需要转换成整数,使用Global对象方法
Global:封装一些不属于具体某个对象的单独存在的全局方法,可不用对象名直接调用
parseFloat() parseInt() radix 基数
parseInt(numString, [radix]) radix指定numString的进制形式,2~36
默认0x开头位16进制,0开头为八进制,其他为十进制
如果numString前缀不能转为数字,则返回NaN(Not a number)可用isNaN()检测
parseInt(“aaa”) NaN parseInt(“33abe”) 33
提示:转换前先用正则匹配,是数字再转换
反向转换用toString方法
toString([radix])
Data:日期时间对象
var d = new Data();
with(d)
{
var month = getMonth()+1; 月份从0开始
month = month>9?month:”0”+month; 月份用两位数 日也可这样做
alert(getYear()+”年”+month+”月”+getData()+”日,星期”+getDay());
}
prototype属性:获取对象原型,可以给源对象添加自定义功能或属性
function getMax()
{
var max = this[0];
for (var x=1; x<this.length; x++)
{
if (max<this[x])
max = this[x];
}
return max;
}
Array.prototype.getMax = getMax; 给Array对象添加getMax方法,可直接调用