js内置对象

89 阅读4分钟

Date 对象用于处理日期和时间 

 构造函数的方式

 let date = new Date(); 

 new Date() 实例化的一个日期对象 

会打印出一个当前的日期

 console.log(date); 

 通过这种方式 可以打印出 过去的时间 

 var tdate=new Date("9 1,2017,14:58:12");

var tdate = new Date('2019-10-30 13:20:22') 

 上面使用一个参数传过去的 

 在上面的用字符串表示的月份中 9 就代表9月 10 就代表10月 

 返回 Date 对象的月份,其值介于0~11之间(注:0-1月份) 

 用数字类型,和逗号分割的月份 是从0开始算的,这里8 就代表9月 

这下面是用 6个参数 分别传过去的,所以和上面的传入的方式不一样

产生的结果也不一样

 var tdate = new Date(2018,8,1,13,22,23)

console.log(tdate); 

 var date = new Date();

返回 Date 对象的一个月中的每一天,其值介于1~31之间 

 获取日期 

 console.log( date.getDate() ); 

 返回 Date 对象的星期中的每一天,其值介于0~6之间(注:0代表周日)

 1代表周一 2代表周二 。。

 获取星期几 

 console.log( date.getDay() ); 

 返回 Date 对象的小时数,其值介于0~23之间 

 24点就是0点 

 console.log( date.getHours() );

 返回 Date 对象的分钟数,其值介于0~59之间 

 60分就是0 

 console.log( date.getMinutes() ); 

 返回 Date 对象的秒数,其值介于0~59之间 

 60秒就是0 

 console.log( date.getSeconds() );

★特殊 返回 Date 对象的月份,其值介于0~11之间(注:0代表1月份)

 console.log( date.getMonth() ); 

 返回 Date 对象的年份,其值为4位数 

 console.log( date.getFullYear() ); 

【毫秒数】

new Date(毫秒数) 通过这个毫秒数(返回距 1970 年 1 月 1 日到现在事件的毫秒数)

就可以得到毫秒数对应的事件对象

利用这个时间对象 就可以获得我们想要的时间信息(毫秒数对应的时间是星期几) 

 setDate(多少号) 通过setDate这个方法 就可以得到对应多少号的毫秒数

 通过毫秒数 和 new Date(毫秒数)来结合用,就可以得到多少号的时间信息 

【 String 对象用于处理文本(字符串)】

 参数 是要存储在 String 对象中或转换成原始字符串的值 

 通过构造函数的方式也可以把数字类型转成字符串类型 

let str = new String(123456);

console.log(str);

 字面量的方式去创建一个字符串 

 let str = 'he k' 

 属性 length 字符串的长度 

 整个字符串(无论是内部的空格还是外部的空格)都算成长度 

 console.log(str.length); 

 字符串有length属性 也可以被遍历 

 for(var i=0;i<str.length;i++){

 console.log(str[i]);

 }

charAt() 返回在指定位置的字符(注:字符串中第一个字符的下标是0) 

 如果写的索引位置找不到对应的字符 会返回一个空字符串 

 let a = str.charAt(6);

console.log(a); 

 concat() 连接字符串 

 会返回一个新的拼接后的字符串 

 let newstr = str.concat('itty');

 console.log(newstr);

replace() 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串 

 replace会把第一参数(第一个参数是属于原字符串的字符)替换成第二个参数里面内容 

 原来的字符串不会受到影响,会返回一个新的替换后的字符串 

 let str = "hello world";

let a = str.replace('world','kitty'); 

 console.log(a,str); 

【正则表达式】

  /\d/ 正则表达式 代表字符串里面的第一个数字替换成nnn 

/\d/+表示匹配字符串里面的所有数字当成一个整体替换成nnn 

 let a = str.replace(/\d+/,'nnn') 

 因为/\d+/ 这段正则不是全局的,所以只会改变第一个匹配项(123整体)

 因为/\d/ 这段正则不是全局的,所以只会改变第一个匹配项(1) 

 let a = str.replace(/\d/,'n') 

 想让str中所有的数字都变成n 

 正则里面的g表示全局的意思 str.replace(/\d/g,'n') 可以把字符串里面的每一个数字都变成n 

 正则里面的g表示全局的意思 str.replace(/\d+/g,'n')

把字符串里面的所有数字当成一个整体都变成n */

 let a = str.replace(/\d/g,'n') 

 console.log(a);