JS的对象也分为内置对象和自定义对象
●例如:Java中Object、String、System属于内置对象
●例如:自定义的Person、Student属于自定义对象。JS的自定义对象是函数实现的。
1、 顶层函数(全局函数)
parseFloat()方法
parseFloat()函数可以解析一个字符串,并返回一个浮点数。
<script>
//解析字符串
var f1=parseFloat("12.23");
console.log(f1+10);
//提示:该函数指定字符串中的首个字母是否是数字,如果是,则对字符串进行解析,直到达数字的末端为止。
var f2=parseFloat("12abc");
console.log(f2+10);
//提示:如果字符串的第一个字符不能被解析为数字,那么parseFloat()会返回NaN,NotaNumber
var f3=parseFloat("test12abc");
//提示:如果只想解析数字的整数部分,请使用parseInt()方法
</script>
parseInt()方法
parseInt函数可以解析一个字符串,并返回一个整数。
var n1=parseInt("12.25");
console.log(n1+1);
var n2=parseInt("10abc");
console.log(n2+10);
var n3=parseInt("abc10");
console.log(n3);//NaN
2、JS内置对象String
String对象属性:
属性 | 描述 |
---|---|
length | 字符串长度 |
String对象方法:
方法 | 描述 |
---|---|
charAt(index) | 返回指定索引处的字符 |
indexOf(x) | 返回指定字符第一次出现的索引位置,找不到返回-1 |
substring(startIndex,endIndex) | 截取字符串,包含开始,不包含结束位置上的字符 |
substr(startIndex,count) | 截取字符串,包含开始,后面的参数要几个 |
<script>
var str="abcdefg";
//字符串长度
console.log("字符串长度:"+str.length);
console.log("返回指定处的字符:"+str.charAt(1));
console.log("返回指定字符串出现的位置:"+str.indexOf("cd"));
console.log("截取字符串:"+str.substring(0,4));
console.log("截取字符串:"+str.substr(0,3));
</script>
3、 JS内置对象Date
Date对象用于处理日期和时间。
创建Date对象的语法:
var myDate=new Date();
Date对象方法:
方法 | 描述 |
---|---|
getFullYear() | 从Date对象以四位数字返回年份 |
getMonth() | 返回月份0-11 |
getDate() | 返回月份中的某一天 |
getTime | 返回1970年1月1日至今的毫秒数 |
toLocaleString() | 根据本地时间格式,把Date对象转换为字符串 |
<script>
va rdate=new Date();
console.log(date.getFullYear()+"年"+(date.getMonth()+1)+"月"+date.getDate()+"日");
console.log(date.getTime());
console.log(date.toLocaleString());
console.log(date.toLocaleDateString());
</script>
4、JS内置对象Math
Math是数据计算的对象,此对象无需创建,直接Math.调用函数即可。
方法 | 描述 |
---|---|
ceil(x) | 向上取整数 |
floor(x) | 向下取整数 |
round(x) | 四舍五入 |
random() | 随机数,返回的小数,范围是0.0—1.0之间,可能是0.0,但是不会到1.0 |
pow(x,y) | 幂运算,代表x的y次方 |
<script>
console.log(Math.ceil(12.2));
console.log(Math.floor(-15.5));
console.log(Math.round(5.6));
console.log(Math.random());
console.log(Math.pow(2,3));
</script>
5、JS内置对象Array(重点)
Array对象,就是JS数组,用于存储多个值,存储的元素类型可以是任意类型。
创建Array对象的语法
var arr1=new Array();
var arr2=new Array(5);
var arr3=new Array(element0,element1,element2,...);
var arr4=[1,2,3,4,5,"zhangsan","lisi",true,99.6];
参数element…是参数列表。当使用这些参数来调用构造函数Array()时,新创建的数组的元素就会被初始化为这些值。它的长度为参数的个数。
如果调用构造函数Array()时没有使用参数,那么数组为空,长度为0
Array对象属性:
属性 | 描述 |
---|---|
length | 返回数组中元素的个数 |
<script>
var arr1=new Array();
arr1[0]=10;
arr1[1]=20;
arr1[2]=30;
arr1[3]="haha";
arr1[4]=false;
arr1[5]=99.99;
console.log(arr1);
console.log(arr1.length);
var arr2=new Array(1,2,3,"lisi",true);
console.log(arr2);
var arr3=new Array(3);
arr3[0]=100;
arr3[1]=200;
arr3[2]=300;
arr3[3]=400;
console.log(arr3);
//开发中经常使用
var arr4=[1,2,3,4,"a",'b','c'];
for(var i=0;i<arr4.length;i++){
console.log(arr4[i]);
}
//多维数组
var arr5=[[1,2,3],['a','b','c'],[true,false]];
console.log("多维数组arr5的长度:"+arr5.length);
console.log(arr5[0][0]);
for(var i=0;i<arr5.length;i++){
for(var j=0;j<arr5[i].length;j++){
console.log(arr5[i][j]);
}
}
</script>
6、JS内置对象RegExp正则表达式
RegExp对象表示正则表达式
正则表达式意义:对复杂字符串进行匹配处理的技术
正则表达式的本质:是一种规则,实现类字符串和规则进行匹配,若匹配成功返回true。
创建正则表达式对象的方式
方式一:
var reg=’/pattern/’; JS中,定义正则表达式规则,写在’//'之间
方式二:
var reg=new RegExp(pattern);//JS中,定义正则表达式规则,写在()之内
正则表达式的规则
表达式 | 描述 |
---|---|
[a-z] | 这个字符必须是小写字母 |
[abc] | 字符必须是abc |
[0-9] | 这个字符必须是数字 |
[a-zA-Z0-9] | 这个字符必须是字母或数字 |
[^a-z] | 这个字符必须不能是小写字母 |
[\d] | 等同于[0-9] |
[\w] | 等同于[a-zA-Z0-9] |
[\D] | 等同于[^0-9] |
[\W] | 等同于[^a-zA-Z0-9] |
. | 代表任意字符,若只想代表普通数据,需要使用转移字符来表示. |
X* | X这个字符可以出现0次或者多次[0-9]* |
X? | X这个字符可以出现0次或者一次 [0-9]? |
X+ | X这个字符可以出现一次或者多次[0-9]+ |
X{m} | X这个字符出现次数正好是m次[0-9]{4} 1234 12345678925634764 |
X{m,} | X这个字符出现次数至少m次[0-9]{4,} |
X{m,n} | X这个字符出现次数至少m次,最多是n次 [0-9]{2,5} |
(X)+ | ()括号代表X表示的内容作为一组数据出现,()括号后面的+号,代表这组数据可以出现一次或者多次(.[a-z])+ java javase javaee javame |
^X | ^匹配开头 |
X$ | $匹配结尾 |
RegExp对象方法
方法 | 描述 |
---|---|
test() | 检索字符串中指定的值,是否匹配正则表达式的规则,返回true或false |
在线工具:[菜鸟教程]https://c.runoob.com/front-end/854
<script>
//要求:手机号,1开头,第二位3456789第三位--11位必须是数字
//JS中,定义正则表达式/^1[3456789][0-9]{9}$/
var telReg=/^1[3456789][0-9]{9}$/;
var flag1=telReg.test("13800138006");console.log(flag1);
//需求:验证用户名:验证格式,字母,数字,下划线组成,长度6-10位
// /^[a-zA-Z_0-9]{6,10}$/
var userReg=new RegExp(/^[a-zA-Z_0-9]{6,10}$/);
console.log(userReg.test('*tomcat'));
</script>