一,内置对象
所谓内置对象,指的是不需要我们自己定义(即系统已经定义好的)、可以直接使用的对象。
在JavaScript中,常用的内置对象有4种:
- 字符串对象:String;
- 数组对象:Array;
- 日期对象:Date;
- 数学对象:Math
1. 字符串对象-String
① 获取字符串长度
语法格式:字符串.length
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script>
var str = "I love apple!";
document.write("字符串长度是:"+str.length);
//获取一个数字的长度
function getLength(num)
{
var str = num+"";
return str.length;
}
var result = "568598是"+ getLength(568598)+"位数";
document.write(result);
</script>
</head>
<body>
</body>
</html>
② 大小写转换
JavaScript中有两种大小写转换的方法:
语法格式:字符串名.toLowerCase()
字符串名.toUpperCase()
③ 获取某一个字符
语法格式:字符串名.charAt(n)
其中参数n是整数,表示字符串中第n+1个字符(字符串第1个字符的下标是0)。
④ 截取字符串
语法格式:字符串名.substring(start,end)
注意:
该方法截取的范围为:[start,end);
其中end可以省略,此时截取的范围是从start开始到结束。
⑤ 替换字符串
语法格式:字符串名.replace(原字符串,替换字符串)
字符串名.replace(正则表达式,替换字符串)
⑥ 分割字符串
语法格式:字符串名.split("分隔符")
注意:
分隔符可以使一个字符、多个字符或一个正则表达式。
split(“ “)和split(“”)是不一样的,前者分隔符是有空格的,所以表示用空格作为分隔符来分割;后者分隔符是没有空格的,所以可以用来分割字符串每一个字符!
split()方法有两个参数,第一个参数表示分隔符;第二个参数表示获取分割后截取的前n个元素。
⑦ 检索字符串的位置
语法格式:字符串名.indexOf(指定字符串)
字符串名.lastIndexOf(指定字符串)
注意:
如果字符串中包含指定字符串,indexOf()方法返回指定字符串首次出现的下标,而lastIndexOf()方法返回指定字符串最后一次出现的下标;
如果字符串中不包含指定字符串,则两个方法会返回-1
2. 数组对象
① 数组的创建
语法格式:var 数组名 = new Array(元素1,元素2,...,元素n);
var 数组名 = [元素1,元素2,...,元素n];
② 数组的获取
语法格式:数组名[n]
注意:
n为数组下标,即获取数组中第n+1个值
数组的下标(n)是从0开始的
③ 截取数组部分
④ 添加数组元素
在数组开头添加元素:unshift( )
数组名.unshift(新元素1,新元素2,...,新元素n);
在数组结尾添加元素:push()
数组名.push(新元素1,新元素2,...,新元素n);
注意:
push()方法在实际开发中,特别是面向对象开发时用的比较多!
⑤ 删除数组元素
删除数组中第一个元素:shift( )
删除数组最后一个元素:pop( )
语法格式:数组名.pop();
实际上,unshift()、push()、shift()、pop()这4个方法都会改变数组的结构!
⑥ 数组大小比较
语法格式:数组名.sort(函数名)
注意:
此处的“函数名”是定义数组元素排序的函数名字
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script>
function up(a,b)
{
return a-b;
}
function down(a,b)
{
return b-a;
}
var arr = [6,8,9,50,65,18];
arr.sort(up);
document.write("升序:"+arr.join("、")+"<br/>");
</script>
</head>
<body>
</body>
</html>
⑦ 数字颠倒顺序
⑧ 将数组元素连接成字符串
语法格式:数组名.join("连接符");
注意:
连接符是可选参数,用于指定连接元素之间的符号。
默认情况下,采用英文逗号作为连接符来连接。
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script>
var arr = ["HTML","CSS","JAVASCRIPT","jQuery"];
document.write(arr.join()+"<br/>");
document.write(arr.join("*"));
</script>
</head>
<body>
</body>
</html>
3. 时间对象
① 时间对象简介
创建时间的语法格式:var 日期对象名 = new Date();
用于获取时间的get方法:
用于设置时间的set方法:
② 获取星期几
语法格式:时间对象.getDay();
注意:
getDay()用于获取星期几,而获取日数的方法是getDate()
getDay()返回一个数字,其中0表示星期天,1表示星期一,….
4. 数学对象
① Math对象的属性
注意:
对于Math对象的属性,我们只需要掌握Math.PI这一个就够了!
在实际开发中,所有的角度都是以“弧度”为单位的,例如:180度应写成Math.PI;360度应写成Math.PI*2。
对于角度,在实际开发中推荐写法: 度数 * Math.PI/180
② Math对象的方法
Math对象中的常用方法:
Math对象中的不常用方法:
注意:
- (1)atan2(y, x)跟atan(x)是不一样的,atan2(y, x)能够精确判断角度对应哪一个角,而atan(x)不能。因此在高级动画开发时,我们大多数用的是atan2(y, x),基本用不到atan(x)。
- (2)反三角函数用得很少(除了atan2()),一般都是用三角函数,常用的有:sin()、cos()和atan2()。
③ 生成随机数
语法格式:Math.random();
该方法用来生成[0,1)之间的一个随机数!随机生成某个范围内的任意数
Math.random()*m
表示生成0~m之间的随机数;
Math.random()*m+n
随机数生成某个范围内的整数
Math.floor(Math.random()*(m+1))
表示生成0~m之间的随机整数(包括0和m)
Math.floor(Math.random()*(m-n+1))+n
表示生成n~m之间的随机整数(包括n和m)
例:生成随机验证码
<!DOCTYPE html>
<html>
<head>
<meta charset="uft-8"/>
<title></title>
<script>
var str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
var arr = str.split("");
var result = "";
for(var i=0; i<4; i++)
{
var n = Math.floor(Math.random*arr.length);
result += arr[n];
}
document.write(result);
</script>
</head>
<body></body>
</html>