一、Date对象
1、Date对象
/**
* Date对象
* -在js中使用Date对象来表示一个时间
* */
//创建一个Date对象
//直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间
var d = new Date();
//创建一个指定时间对象
//需要在构造函数中传递一个表示时间的字符串作为参数
//日期的格式 月份/日/年 时:分:秒
var d2 = new Date("02/04/2011 11:10:30");
console.log(d2);
2、getDate()
/**
* getDate()
* -获取当前日期对象是几号(1-31)
* */
var date = d.getDate();
//console.log("date ="+date);
3、getDay()
/**
* getDay()
* -获取当前日期对象时是周几(0-6)
* 0表示周日
* 1表示周一
* 6表示周六
* */
var day = d2.getDay();
//console.log("day ="+day);
4、getMonth()
/**
* getMonth()
* -可以获取当前时间对象月份,返回一个0-11的值
* -0表示1月
* 1表示的是2月
* 11表示12月
* */
var month = d2.getMonth();
//console.log("month ="+month);
5、getFullYear()
/**
* getFullYear()
* -获取我们当前日期对象的年份
* */
var year = d.getFullYear();
console.log("year ="+year);
/**
* getYear()
* -用getFullYear()方法代替
* */
6、getTime() 获取时间戳
//创建Date对象
var d = new Date();
var d2 = new Date("02/04/2011 11:10:30");
/**
* getTime()
* -获取当前日期对象的时间戳
* -时间戳,指的是从格林威治标准时间的1970年1月1日,0时0分0秒
* 到当前日期所花费的毫秒数(1秒=1000毫秒)
* -计算机底层在保存时间的时候使用的都是时间戳
* */
var time = d2.getTime();
//console.log(time/1000/60/60/24/365);
// var d3 = new Date("1/1/1970 0:0:0");
// time = d3.getTime();
// console.log(time);
//利用时间戳来测试代码的执行的性能
//获取当前的时间戳
var start = Date.now();
for(var i=0; i<100; i++){
console.log(i);
}
var end = Date.now();
console.log("执行了,"+(end - start)+"毫秒");
二、RegExp对象
正则表达式在JavaScript高级中已经写过,这里只介绍一些新的东西。正则对象速查表
1、正则对象
/**
* 正则表达式
* -邮件的规则:1.前面是手机号/qq号/用户名
* 2.跟着一个@符
* 3.163/126/qq
* 4..com
* -正则表达式用于定义一些字符串的规则
* 计算机可以根据正则表达式,来检查一个字符串是否符合规则
* 获取将字符串中符合规则的内容提取出来
* */
//创建正则表达式对象
/**
* 语法:var 变量 = new RegExp("正则表达式","匹配模式");
* 使用typeof检查正则对象,会返回Object
* 这个正则表达式可以用来检查一个字符串中是否含有a
* 在构造函数中可以传递一个匹配模式作为第二个参数
* 可以是: i 忽略大小写
* g 全局匹配模式
* */
var reg = new RegExp("bc","i");
var str = "a";
2、test()
/**
* 正则表达式方法:
* test()
* -使用这个方法,可以用来检查一个字符串是否符合正则表达式的规则
* 如果符合则返回true,反之返回false
* */
var result = reg.test(str);
//console.log(result);
console.log(reg.test("bba"));
3、转义字符
**
* 检查一个字符串中是否含有.
* . 表示任意字符
* 在正则表达式中使用\作为转义字符
* \.来表示.
* \\来表示\
*
* 注意:使用构造函数时,由于他的参数是一个字符串,而\是字符串中的转义字符
* 如果使用\则需要使用\\来代替
* */
var reg = /\./;
reg = /\\/;
reg = new RegExp("\\\\");
// console.log(reg.test("abc"));
// console.log(reg);
4、字符串与正则
1、splict()
var str = "1a2b3c4d5e6f7";
/**
* split()
* -可以将一个字符串拆分为一个数组
* -方法中可以传递一个正则表达式作为参数,
* 这样方法会根据正则表达式去拆分字符串
* */
/**
* 根据任意字母来将字符串拆分
* */
var result = str.split(/[A-z]/); //[1,2,3,4,5...]
2、search()
/**
* search()
* -可以搜索字符串中是否含有指定内容
* -如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到,返回-1
* -他可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
* */
str = "hello hello";
/**
* 搜索字符串中是否含有abc或aec或afc
* */
result = str.search(/a[bef]c/);
console.log(result); //-1
3、match()
/**
* match()
* -可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
* -默认情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索
* 可以设置正则表达式为全局匹配模式,这样就会匹配到所有内容
* 可以为一个正则表达式设置多个匹配模式,且顺序无所谓
* -match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果
* */
var str = "1a2a3a4a5e6f7A8B9C";
result = str.match(/[a-z]/ig);
//console.log(result[5]);
console.log(result); // [a,a,a,a,e,f,A,B,C]
4、replace()
/**
* replace()
* -可以将字符串中指定内容替换为新的内容
* -参数:1.被替换的内容,可以接受正则表达式作为参数
* 2.新的内容
* -默认只会替换第一个,
* */
//result = str.replace(/[a-z]/gi,"@_@");
result = str.replace(/[a-z]/gi,"");
console.log(result); // 123456789