JavaScript中的内置对象
JavaScript提供多个内置对象,比如String、Date、Array等,对象只是一种带有属性和方法的特殊数据类型
内置对象string
代表字符串
常用属性:
- length:返回字符串的长度
常用方法:
方法 | 说明 |
---|---|
charAt(index) | 返回指定索引处的字符 |
indexOf(x) | 返回指定字符第一次出现的位置,没有则返回-1 |
substring(startIndex,endIndex) | 截取字符串,从startIndex开始到endIndex(不包含endIndex) |
substr(startIndex,count) | 截取字符串,从startIndex开始截取count个 |
var str = "abcdefg";
document.write("字符串的长度:"+str.length);
document.write("字符串的第三个字符:"+str.charAt(2));
document.write("第一个字符到第四个字符:"+str.substring(0,4))
document.write("从第二个字符开始3个"+str.substr(1,3));
内置对象Date
用于处理日期和时间
创建:
var date = new Date();
常用方法:
方法 | 说明 |
---|---|
getFullYear() | 获取日期对象中所表示时间的年份 |
getMonth() | 获取日期对象中所表示时间的月份(0-11) |
getDate() | 获取日期对象中所表示月中的日期(1-31) |
getTime() | 返回1970年1月1日至指定时间的毫秒数 |
toLoacleString() |
var date = new Date();
document.write("<br>获取年:"+date.getFullYear())
document.write("<br>获取月:"+(date.getMonth()+1))
document.write("<br>获取日期:"+date.getDate())
document.write("<br>获取星期:"+date.getDay())
document.write("<br>本地格式返回当前时间:"+date.toLocaleString())
内置对象Math
对数据进行计算的对象,无需创建,直接Math.调用相关函数即可
方法 | 说明 |
---|---|
ceil(x) | 向上取整整 |
floor(x) | 向下取整数 |
round(x) | 四舍五入 |
random() | 返回一个随机小数,范围[0.0~1.0) |
pow(x,y) | 幂运算,x的y次方 |
document.write("向上取整:"+Math.ceil(12.1))
document.write("向下取整:"+Math.floor(12.1))
document.write("四舍五入:"+Math.round(12.1))
document.write("随机数:"+Math.random())
document.write("幂运算:"+Math.pow(2,10))
内置对象Array
代表的就是JavaScript中的数组
(和java中的数组不同:该数组可以存储任意数量的元素,而且每个元素的类型可以不同)
创建数组对象:
var arr1 = new Array();
var arr2 = [];
常用属性:
- length:返回数组的长度
常用:
方法 | 说明 |
---|---|
concat(arr1,arr2···) | 将多个数组数组合并成一个数组 |
join(string) | 将数组中元素按照指定字符串连接成一个字符串 |
reverse() | 将数组中元素位置反转,返回一个反转后的数组 |
sort(sorfunction) | 返回一个指定函数排序后的数组 |
//javaScript中的数组,长度没有限制,数据类型没有限制
var arr1 = new Array();//也可以var arr1 = [];
arr1[0]=1;
arr1[1]=2;
arr1[2]="a";
document.write(arr1);
document.write(",arr1数组的长度为:"+arr1.length);
document.write(",arr1数组元素连接成字符串:"+arr1.join("--"));
document.write(",arr1数组反转后:"+arr1.reverse());
var arr2 = new Array("x",100);
document.write(",arr1和arr2组合::"+arr1.concat(arr2));
document.write("<br>");
//多维数组
var arr4 = [[1,2,3],["a","b","c"],[true,false]]
document.write(arr4)
document.write("<br>")
for (var i=0;i<arr4.length;i++){
for (var j=0;j<arr4[i].length;j++){
document.write(arr4[i][j]+"<br>")
}
}
内置对象RegExp(正则表达式)
RegExp对象表示正则表达式
- 正则表达式:对复杂字符串进行匹配处理的技术。(编写一个规则,让字符串和规则匹配,成功返回true、不匹配返回false)
创建RegExp对象的方式
var reg1 = new RegExp(pattern);//可以是一个字符串,也可以是一个/ /
var reg2 = /pattern/;//定义正则表达式的规则,放在//之间
- test(string);检查指定字符串是否符合该正则,如果符合返回true,不符合返回false
var emailReg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var flag2 = emailReg.test("xxxxx@163.com");
document.write("是否符合邮箱规则:"+flag2);
全局对象(global)
全局对象没有语法,可以直接调用其方法
- parseFloat()
解析字符串,返回一个浮点数
var f1 = parseFloat("123.1");
document.write(f1);//123.1
var f2 = parseFloat("123.1abc");
document.write(f2);//123.1
var f3 = parseFloat("abc123.1");
document.write(f3);//NaN
- parseInt()
解析字符串,返回一个整数
var n1 = parseInt("123.1");
document.write(n1);//123
var n2 = parseInt("123abc");
document.write(n2);//123
var n3 = parseInt("abc123");
document.write(n3);//NaN
- isNaN()
判断一个值是否为非数字
document.write(isNaN("abc"))//true
document.write(isNaN(123))//false