内置对象:
1,对象的定义:
就是在程序中,我们需要描述,控制,定义的目标或者为目标设置的方法以及
在程序所需要使用的一切数据都可以称之为对象。
2,对象是有类别:
方法类对象function,数组类对象array,对象类对象object,日期类对象date
数学公式类的对象Math,错误警告类对象:error,全局类对象global,验证类对象:
RegEx,包装类对象:string,number,Boolean类;
按照创建方式上说:
对象分为:内置对象,本地对象,自定义对象:
这三者之间的区别是一个面试题:
js厂商根据核心语法,提前设置的对象,已经包含了固定的方法,这些对象被称为:
内置对象。
本地对象:各浏览器厂商,根据自己对js核心语法的认识和理解,提前设置的对象类型;
被称为:本地对象。
自定义对象:开发人员根据需要自己创建并且定义的对象称为:自定义对象。
3,什么叫包装类对象:
原始数据类型本身不是对象类型,没有对象所具有的方法及属性。
但是为了能在开发中灵活使用原始数据类型。
程序厂商将string,number,boolean三类数据设置了相应的方法和属性
这三类原始数据类型的对象被称为:包装类对象。
string类型:
类型具备的属性:length;
var str="helloWorld"
console.log(str.length)//
string对象和数组一样具有字符长度属性,也有自己的下标号,字符的
下标号第一位和数组一样都是从0开始的,那么最后一个字符的下标,
str.length-1;
string对象查找指定位置的字符。
string.charAt(index)//index代表下标号。
var str="你好我是***";
console.log(str.chaAt(2));//返回的是下标号为2的字符。
查找指定下标的字符的Unicode编码;
str.charCodeAt(index);
var str="你好我是***";
console.log(str.charCodeAt(2));//返回的是下标号为2的字符的
Unicode编码
查找敏感词汇所在下标号:
方法:str.indexOf("所要查找的内容","从什么位置开始查找。");
str.indexOf("内容")//返回的结果是:你查找的信息所在的下标号,如果没找到内容,返回结果为-1;
如果需要反复查找我们需要配合循环来进行循环查找。
slice(start,end);
substring(start,end )
抽取子字符串:抽取的子字符串不包含end下标所对应的字符。
substr(start,length),length是指截取的个数。
split(“”)//将string内容直接转化为数组,split的参数是设置为按照什么标准将string分割为数组的元素。
全部大写:x.toUpperCase();
全部小写: x.toLowerCase();
解码:x.fromCharCode();将Unicode编码转化为字符。
正则表达式:
regexp:
定义:正则表达式其实就是一种规则,主要式规范用户输入的文本内容。
规范的原理式什么?就是在字符中查找符合正则规范的字符。
正则的规范方式:
1,可选的字符集。[0-9a-zA-Z_]//代表的是:我们可以输入的内容可以是数字,大小写字母和下划线;
字符集的主要作用是规范了,用户可以输入的内容类别。
\w代表:[0-9a-zA-Z_];
\d代表的是[0-9];
"."代表的是任意字符
\s代表的是空格。
{}指定前面的字符集出现的次数,{最小数,最大数},如果只有一个数。代表固定数量,如果{1,}
代表的是最少一个,多了不限。
xx@xxx.xxx.xx
zn@yahoo.com.cn
zn@yahoo.net-index.gov.cn
zn@163.com
?代表数量词,是指,前面的内容仅仅可以复制一次
*代表数量词,是指,前面的内容可以复制也可以不复制,一旦复制可以没有上限的复制。
+代表数量词,是指,前面的内容至少复制一次,没有复制上限。
Math对象:
定义:就是封装了一些数学计算公式的对象。
构造函数:是一种特殊的函数形式,表现语法 var aa=new Function(){}
var student=new Function(name,age){
this.name=name;
this.age=age;
this.say=function(){
return this.name+this.age;
}
}
var first=new student("tom",18);
常规函数:var aa=function(){};
Math对象没有构造函数。
var num=new Math();///错误的语法。
var num=12.1 ;
document.write(Math.ceil(num));//ceil()向上取舍入
document.write(Math.floor(num));//floor()向下取整
document.write(Math.round(num));//四舍五入
var a=10;
var b=11;
document.write(Math.max(num,a,b)+"是最大的数");//求多个值中最大的一个。
document.write(Math.min(num,a,b)+"是最小的数"+"<br/>");//求多个值中最小的一个。
//随机数random();返回的是一个从0-1的随机数。
document.write(Math.random())
//50-100random()*50+50求出随机数生成的数字范围random()*(max-min)+min
练习作业:
使用随机数产生一个4位数验证码。验证码需要有数字和字母
Date日期对象:
概述:专门获取计算机日期的一个对象。
日期对象的创建方法:
var dat=new Date();
var dat=new Date();//获取的是计算机现行的时间
console.log(dat)
var mydat=new Date("2017/12/10 12:30");
console.log(mydat)//自定义时间
var pcdat=new Date(0);//得到的是计算机初始时间
console.log(pcdat)
get是获取日期对象的某一个具体的时间点。
但是他不能修改日期对象。
如果我们需要一个能修改日期对象的方法:就需要一个set();
例如我们需要修改下时间的小时数:
var dat=new Date();
dat.setHours(10);//此时运用set方法修改小时数为10
console.log(dat)//此时间已经修改。
我们在Date()对象中获取的时间差值,不仅仅是页面上的一个显示的内容,而且是一个时间差的
毫秒数,他在程序背后自动根据计算机的时间进度来前进。
所以我们说时间的进程变化不受到我们的页面程序的影响。
var nowdate=new Date();
var futuredate=new Date("2017/12/28 17:30");
var time=futuredate-nowdate;
document.write(time/1000/60);
练习题:算出距离过年还有多少:天,小时,分钟,秒的倒计时
