首页 > 代码库 > JavaScript内置对象
JavaScript内置对象
对象概述
JavaScript是一种基于对象的脚本语句,而不是面向对象的编程语言。对象就是客观世界存在的实体,具有属性和方法两方面特性。
访问对象的属性和方法的方式如下:
对象名.属性
对象名.方法名()
第一节 数组对象类型 Array
数组可以存放很多相同类型的数据。有数组名代表所有这些数据,而用数组名[下标]表示其中某个元素(下标从0开始)。
如:var myA=["张三","李四","王五"];
document.write(myA); //看到所有三个字符串
myA[0]指向第一个元素
myA[2]指向第三个元素
1、建立数组的三种方法:
(1) 使用方括号,创建数组的同时赋初值
var myA=["张三", "李四","王五"];
var b=[10,20,30,40];
(2) 使用new 操作符,创建数组的同时赋初值
var myA=new Array("张三", "李四","王五");
注意圆括号和方括号的区别,不能任意使用。
(3) 先创建长度为10的数组,内容后面再赋值
var anArray = new Array(9);
anArray[0]= "张三";
anArray[1]= "李四";
anArray[2]= "王五";
2、数组的属性
length
数组名.length 返回数组中元素的个数
如:myA.length 为 3
例:使用for语句输出myA数组的各个元素。
for(i=0;i<myA.length;i++){
alert(myA[i]);
}
3、数组的方法
join(分割符)
该方法的功能是把数组中所有数据用指定的分割符连接起来,以一个字符串的形式表达出来。
例如: myA.join("/") 返回一个字符串 "张三/李四/王五"
reverse()
该方法的功能是将数组中的元素整个反转顺序。
例如: myA.reverse( ) 数组变为 ["王五","李四","张三"]
sort()
该方法的功能是将数组元素排序(汉字按拼音的字母顺序)。
例如: myA.sort () 数组变为 ["李四","王五","张三"]
concat()
方法用于连接两个或多个数组。
下面的例子将把 concat() 中的参数连接到数组 a 中
<script type="text/javascript">
var a = [1,2,3];
document.write(a.concat(4,5));
//输出结果是:
//1,2,3,4,5
</script>
下面的例子创建了两个数组,然后使用 concat() 把它们连接起来
<script type="text/javascript">
var arr = ["George","John","Thomas"];
var arr2 = ["James","Adrew","Martin"];
document.write(arr.concat(arr2));
//输出结果是:
//George,John,Thomas,James,Adrew,Martin
</script>
下面的例子创建了三个数组,然后使用 concat() 把它们连接起来
<script type="text/javascript">
var arr = ["George","John","Thomas"];
var arr2 = ["James","Adrew","Martin"];
var arr3 = ["William","Franklin"];
document.write(arr.concat(arr2,arr3));
//输出结果是:
//George,John,Thomas,James,Adrew,Martin,William,Franklin
</script>
pop()
方法用于删除并返回数组的最后一个元素。
删除数组的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,
则 pop() 不改变数组,并返回 undefined 值。
<script type="text/javascript">
var arr = ["George","John","Thomas"];
document.write(arr);
document.write("<br />");
document.write(arr.pop());
document.write("<br />");
document.write(arr);
//输出结果是:
//George,John,Thomas
//Thomas
//George,John
</script>
push()
方法可向数组的末尾添加一个或多个元素,并返回新的长度。
语法:arrayObject.push(newelement1,newelement2,....,newelementX)
push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而
不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。
<script type="text/javascript">
var arr = ["George","John","Thomas"];
document.write(arr + "<br />");
document.write(arr.push("James") + "<br />");
document.write(arr);
//输出结果是:
//George,John,Thomas
//4
//George,John,Thomas,James
</script>
shift()
方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方
法不创建新数组,而是直接修改原有的 arrayObject。
<script type="text/javascript">
var arr = ["George","John","Thomas"];
document.write(arr + "<br />");
document.write(arr.shift() + "<br />");
document.write(arr);
//输出结果是:
//George,John,Thomas
//George
//John,Thomas
</script>
unshift()
方法可向数组的开头添加一个或更多元素,并返回新的长度。
unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到
较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,
它将成为新的元素 1,以此类推。
请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。
<script type="text/javascript">
var arr = ["George","John","Thomas"];
document.write(arr + "<br />");
document.write(arr.unshift("William") + "<br />");
document.write(arr);
//输出结果是:
//George,John,Thomas
//4
//William,George,John,Thomas
</script>
slice(start,end)
从已有的数组中返回选定的元素。
<script type="text/javascript">
var arr = ["George","John","Thomas"];
document.write(arr + "<br />");
document.write(arr.slice(1) + "<br />");
document.write(arr);
//输出结果是:
//George,John,Thomas
//John,Thomas
//George,John,Thomas
</script>
<script type="text/javascript">
var arr =["George","John","Thomas","James","Adrew","Martin"];
document.write(arr + "<br />");
document.write(arr.slice(2,4) + "<br />");
document.write(arr);
//输出结果是:
//George,John,Thomas,James,Adrew,Martin
//Thomas,James
//George,John,Thomas,James,Adrew,Martin
</script>
splice()
方法用于插入、删除或替换数组的元素。
语法:arrayObject.splice(index,howmany,element1,.....,elementX)
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多
个值来替换那些被删除的元素。
参数描述
index 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
howmany 必需。规定应该删除多少元素。必须是数字,但可以是 "0"。
如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
element1 可选。规定要添加到数组的新元素。从 index 所指的下标处开始插入。
elementX 可选。可向数组添加若干元素。
下面的实例中,创建一个新数组,并向其添加一个元素:
<script type="text/javascript">
var arr =["George","John","Thomas","James","Adrew","Martin"];
document.write(arr + "<br />");
arr.splice(2,0,"William");
document.write(arr + "<br />");
//输出结果是:
//George,John,Thomas,James,Adrew,Martin
//George,John,William,Thomas,James,Adrew,Martin
</script>
下面的实例中,将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:
<script type="text/javascript"> var arr =["George","John","Thomas","James","Adrew","Martin"]; document.write(arr + "<br />"); arr.splice(2,1,"William"); document.write(arr); //输出结果是: //George,John,Thomas,James,Adrew,Martin //George,John,William,James,Adrew,Martin </script>
下面的实例中,将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素("William") 来替代被删除的元素:
<script type="text/javascript"> var arr =["George","John","Thomas","James","Adrew","Martin"]; document.write(arr + "<br />"); arr.splice(2,3,"William"); document.write(arr); //输出结果是: //George,John,Thomas,James,Adrew,Martin //George,John,William,Martin </script>
4、内部数组
在网页对象中,有很多本身就是数组对象。例如:document对象的forms属性就是一个数组对象,其中每个元素对应网页中的一个表单,示例如下:
<form name="firstForm"></form>
<form name="secondForm"></form>
<form name="thirdForm"></form>
<script language="javascript">
var fs=document.forms;
for(i=0;i<fs.length;i++){
alert(fs[i].name);
}
</script>
表单中的一个选择列表的options属性也是一个数组对象,其中每个元素对应于列表中的一个选择项目
<form name="myForm">
<select multiple size="5" name="box" style="width:150" onClick="f(this);">
<option value=http://www.mamicode.com/"apple">苹果</option>
<option value=http://www.mamicode.com/"orange">橘子</option>
<option value=http://www.mamicode.com/"banana">香蕉</option>
</select>
</form>
<script language="javascript">
function f(o){
for(i=0;i<o.options.length;i++){
alert(o.options[i].value+","+o.options[i].text);
}
}
</script>
第二节 字符串对象类型 String
myStr="我们来自五湖四海!";
或
myStr= new String("我们来自五湖四海!");
1、字符串的长度属性
myStr.length 返回字符串中字符的个数9,一个汉字算一个字符。
2、字符串的方法
分为两大类,如下:
(1) 格式设置方法:
big(), bold(), fontcolor(颜色字符串), fontsize(字体号), sub(), sup()
(2) 通用字符串操作。
str="Hello";
方法描述示例及结果
anchor() 创建 HTML 锚。str.anchor("b"):<A NAME=”b”>Hello</A>
big() 用大号字体显示字符串。str.big() : <BIG>Hello</BIG>
blink() 显示闪动字符串。str.blink() : <BLINK>Hello</BLINK>
bold() 使用粗体显示字符串。str.bold() : <B>Hello</B>
charAt() 返回在指定位置的字符。"北京欢迎你".charAt(2)结果是"欢"
"北京欢迎你".charAt(0)结果是"北"
charCodeAt() 返回在指定的位置的字符的Unicode 编码。
"北京欢迎你".charCodeAt(2)结果是27426
concat() 连接字符串。"北京".concat("欢迎你")结果是"北京欢迎你"
fixed() 以打字机文本显示字符串。str.fixed() : <FIXED>Hello</FIXED>
fontcolor() 使用指定的颜色来显示字符串。str. Fontcolor ("Red") :
<FONT color="red">Hello</FONT>
fontsize() 使用指定的尺寸来显示字符串。str. fontsize () : <FONT
size="3">Hello</FONT>
indexOf() 检索字符串。"北京欢迎你".indexOf("欢迎")结果是2
"北京欢迎你".indexOf("上海")结果是-1
"北京欢迎你,欢迎".indexOf("欢迎")结果是2
italics() 使用斜体显示字符串。str. italics () : <I>Hello</I>
lastIndexOf() 从后向前搜索字符串。"北京欢迎你,欢迎".lastIndexOf("欢迎")结果是6
link() 将字符串显示为链接。str.link("http://www.javakc.com") :
<a href=http://www.mamicode.com/"http://www.javakc.com"> Hello </a>
match() 找到一个或多个正则表达式的匹配。
replace() 替换与正则表达式匹配的子串。
search() 检索与正则表达式相匹配的值。
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。
"北京欢迎你".slice(2,4) 结果是"欢迎"
small() 使用小字号来显示字符串。str.small():<SMALL>Hello</SMALL>
split() 把字符串分割为字符串数组。"北京|欢迎你|欢迎".split("|")结果是
数组{"北京","欢迎你","欢迎"}
strike() 使用删除线来显示字符串。str.strike():<strike>Hello </strike>
sub() 把字符串显示为下标。
str.sub( ) : <sub> Hello </sub>
substr() 从起始索引号提取字符串中指定数目的字符。
"北京欢迎你".substr(1,2) 结果是"京欢"
substring() 提取字符串中两个指定的索引号之间的字符。
"北京欢迎你".substring(2,4)结果是"欢迎"
sup() 把字符串显示为上标。str.sup():<sub> Hello </sub>1
toLowerCase() 把字符串转换为小写。(不改变旧的字符串)
"Welcome to BeiJing".toLowerCase()结果
是
welcome to beijing
toUpperCase() 把字符串转换为大写。(不改变旧的字符串)
"Welcome to BeiJing".toUpperCase()结果
是WELCOME TO BEIJING
第三节 数学类 Math
包含了常用的数学常量和函数。不需要创建该类型的对象,而可以直接使用Math.属性名或
Math.方法名来使用这些常量和方法。
Math.E 返回2.718
Math.PI 返回3.14159 等等
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 对象的原始值。
第四节 日期时间类 Date
该类型对象中存放年月日时分秒等信息。
1、创建日期对象的几种办法:
new Date() 不带参数,则以系统时间为新创建日期对象的内容。
new Date(毫秒数) 以距1970年1月1日零时到期望时间的毫秒数为参数,创建日期对象
new Date(2005,6,3,21,0,22) 设定2005年7月3日,注意月从0开始的
new Date("July 3, 2005 21:00:22") 以指定的时间为新创建日期对象的内容
2、日期对象的方法:
getDate() 返回几号
getDay() 返回星期几 (0代表星期日,1到6代表星期一到星期六)
getHours() 返回几点
getMinutes() 返回分钟数
getSeconds() 返回秒数
getTime() 返回距1970年1月1日零时到期望时间的毫秒数
getYear() 返回年份
setDate() 设置几号
setDay() 设置星期几 (0代表星期日,1到6代表星期一到星期六)
setHours() 设置几点
setMinutes() 设置分钟数
setSeconds() 设置秒数
setTime() 以距1970年1月1日零时到期望时间的毫秒数为参数,设置时间
setYear() 设置年份
JavaScript内置对象