js-day07 对象 字符串 Math Date

对象

对象: 在js中 万物皆对象 一切皆对象 分为: 本地 内置 自定义 宿主 全局

本地(内部): Number String Boolean Object Array Function RegExp Date Error

内置: 在页面加载完成后 已经实例化的对象 Global Math

宿主: DOM BOM

全局: window

api: application programming Interface 应用程序编程接口

已经封装好的可以直接使用的函数 直接调用实现功能

Math

console.log(Math); // 数学对象
​
console.log(Math.PI); // π
​
console.log(Math.floor(3.99999)); // 向下取整
console.log(Math.ceil(3.000001)); // 向上取整
console.log(Math.round(4.50001)); // 四舍五入
console.log(Math.round(4.499999)); // 四舍五入
​
console.log(Math.max(20, 32, 12, 43, 12, 43, 435, 43)); // 求最大值
console.log(Math.min(20, 32, 12, 43, 12, 43, 435, 43)); // 求最小值
​
console.log(Math.pow(2, 10)); // 幂次方  
console.log(Math.sqrt(4)); // 开根号
console.log(Math.abs(-1000)); // 绝对值
​
// 求随机数:
/* 
    Math.random()   0-1的随机数
    Math.random() * 数   0-数之间的随机数  不包含数
    Math.random() * (y - x) + x  x-y之间的随机数 不包含y  y > x
*/
for(var i = 0; i < 5; i++){
    // console.log(Math.random());
    // console.log(Math.random() * 10);
    console.log(Math.random() * (50 - 30) + 30);
​
}

Date

创建时间

创建当前时间

var date = new Date();
console.log(date);
console.log(typeof date); // object

创建其他时间

1.2.1 用 , 直接分割 月份: 0-11 表示 1-12 月

1.2.2 传 字符串 年月日中间可以用任意特殊英文符号进行分割 空格 , / $ 时分秒 用 时:分: 秒

// 1.2.1 用 , 直接分割   月份: 0-11 表示 1-12 月
var d1 = new Date(2021, 9, 1);
var d1 = new Date(2021, 9, 1, 13, 13, 13);
console.log(d1);
​
// 1.2.2 传 字符串 年月日中间可以用任意特殊英文符号进行分割 空格 , / $  时分秒 用 时:分: 秒
// 字符串 月份不减
var d2  = new Date('2021, 10, 1');
var d2  = new Date('2021, 10, 1 23:23:23');
var d2  = new Date('2021 10 1 23:23:23');
var d2  = new Date('2021/10/2 23:23:23');
var d2  = new Date('2021-10-3 23:23:23');
var d2  = new Date('2021_10_3 23:23:23'); // Invalid Date 不可用的时间 _中文符号
console.log(d2);

获取特定格式的时间

var dd = new Date();
console.log(dd);
console.log(dd.toString(), typeof dd.toString()); // 字符串
console.log(dd.toLocaleString()); // 本地字符串日期  2021/9/22 上午11:35:10
console.log(dd.toLocaleDateString()); // 年月日 2021/9/22
console.log(dd.toLocaleTimeString()); // 时分秒 12小时 上午11:36:30

获取单个时间

var dd = new Date();
console.log(dd);
​
// 获取单个时间
var y = dd.getFullYear();
console.log(y); // 2021
console.log(dd.getMonth()); // 月 0-11表示1-12月
console.log(dd.getDate()); // 日期
console.log(dd.getDay()); // 星期  0-6表示周日到周六 3
​
​
var w = dd.getDay();
var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六' ];
console.log(week[w]);
​
console.log(dd.getHours()); // 小时 11
console.log(dd.getMinutes()); // 分钟
console.log(dd.getSeconds()); // 秒
​
// 毫秒: 时间戳 距离1970-1-1
console.log(dd.getTime());

moment

moment.js: 专门处理日期的js插件库

\1. 下载 Moment.js 中文网

\2. moment.js : 格式文档 学习

moment.min.js : 压缩文档 工作

YYYY: 年

MM: 月

DD: 日期

d: 星期

HH: 时

mm: 分

ss: 秒

X: 所有的秒 距离1970-1-1的毫秒/1000

前导0 自动添加

// 创建moment时间对象
var dd = moment();
console.log(dd);
​
// format: 格式日期
/* 
    YYYY: 年
    MM: 月
    DD: 日期
    d: 星期
    HH: 时
    mm: 分
    ss: 秒
    X: 所有的秒 距离1970-1-1的毫秒/1000
​
    前导0 自动添加
*/
console.log(dd.format('YYYY'));
console.log(dd.format('MM'));
console.log(dd.format('DD'));
console.log(dd.format('d'));
console.log(dd.format('HH'));
console.log(dd.format('mm'));
console.log(dd.format('ss'));
console.log(dd.format('X'));
​
// 在页面中显示当前是 xxxx年xx月xx日 星期x x:x:x
document.body.innerHTML = dd.format('YYYY年MM月DD日 星期d HH:mm:ss');
// 每隔1s自动更新一次
setInterval(function () {
    var dd = moment();
    console.log(dd);
    document.body.innerHTML = dd.format('YYYY年MM月DD日 星期d HH:mm:ss');
}, 1000);

string

创建

字面量声明

包装类对象 不是真正的对象

var str = '12345a';

new关键字创建

var str1 = new String('asddhj');
console.log(str1);
console.log(typeof str1); // object

长度

console.log(str1.length); // 长度

查找

charAt

charAt: 指定下标对应的字符

var str = 'qwertyuiop';
console.log(str.charAt(2));

charCodeAt

charCodeAt: 指定下标对应的字符的ASCII码

console.log(str.charCodeAt(2));

indexOf

indexOf: 查找指定的字符在字符串中出现的位置 如果有返回下标 如果没有返回-1

惰性查找: 找到一个符合条件的 就会直接返回

语法: 字符串.indexOf(要找的字符[, 起始下标])

不传起始下标: 默认从第一个字符开始查找

起始下标: 表示从起始下标的位置上开始往后进行查找

var str = '012345678900123456123451234123';
console.log(str);
// 1是否在字符串str中出现
console.log(str.indexOf('1'));
console.log(str.indexOf('1', 2));
console.log(str.indexOf('1', 13));
console.log(str.indexOf('a')); // -1

lastIndexOf

lastIndexOf: 查找指定的字符在字符串中最后出现的位置 如果有返回下标 如果没有返回-1

从右往左查找

语法: 字符串.lastIndexOf(要找的字符[, 起始下标])

console.log(str.lastIndexOf('1'));
console.log(str.lastIndexOf('1', 26));
console.log(str.lastIndexOf('a'));

截取

substring

语法: 字符串.substring([起始下标], [结束下标]);

不传参: 返回整个字符串

传一个参数: 从起始下标开始 截取到 字符串的末尾 截止

传2个参数:

起始下标 < 结束下标: 从起始下标开始 截取到结束下标为止 包含起始下标对应的字符 不包含结束下标对应的字符

结束下标 < 起始下标: 互换位置 在参考上述规则

出现负数: 会把负数变成 0 参考上述规则

var str = 'abcdefghijklmn';
console.log(str.substring()); // abcdefghijklmn
console.log(str.substring(2)); // cdefghijklmn
console.log(str.substring(3, 5)); // de
console.log(str.substring(5, 3)); // de
console.log(str.substring(5, -1)); // 0---5  abcde

slice:

语法: 字符串.slice([起始下标], [结束下标]);

不传参: 返回整个字符串

传一个参数: 从起始下标开始 截取到 字符串的末尾 截止

传2个参数:

起始下标 < 结束下标: 从起始下标开始 截取到结束下标为止 包含起始下标对应的字符 不包含结束下标对应的字符

结束下标 < 起始下标: 返回空字符串

负数: 长度 + 负数 之后得到的结果 在参考上述规则

简单: 从右往左有几位不要

console.log(str.slice()); // abcdefghijklmn
console.log(str.slice(2)); // cdefghijklmn
console.log(str.slice(3, 5)); // de
console.log(str.slice(5, 3)); // 
console.log(str.slice(3, -1)); // defghijklm
console.log(str.slice(-10, -1)); // efghijklm

substr:

语法: 字符串.slice([起始下标], [截取长度]);

不传参: 返回整个字符串

传一个参数: 从起始下标开始 截取到 字符串的末尾 截止

console.log(str.substr());// abcdefghijklmn
console.log(str.substr(2)); // cdefghijklmn
console.log(str.substr(2, 5)); // cdefg

replace

语法: 字符串.replace(要被替换的字符/正则, 被替换的新字符/函数);

一次性只能替换一个位置上的字符, 返回新字符串

var str = 'today is Wednesday';
// s-->*
console.log(str.replace('s', '*'));

split:

作用: 将字符串按照指定的分割符进行分割 返回数组

分割符可以是一切字符 空、空格、标签

语法: 字符串.split('分割符');

var  str = 'you are a beautiful girl';
console.log(str);
console.log(str.split('a'));
// 每一个字符做一个数组的项
console.log(str.split(''));
console.log(str.split()); // 整个字符串是数组的一项

转大小写:

转大写: 字符串.toUpperCase()

转小写: 字符串.toLowerCase()

var str = 'aSaSas';
var str1 = 'AsAsas';
console.log(str.toUpperCase());
console.log(str.toLowerCase());

不区分大小写: 将判断的字符都转成小写的或者都转成大写的之后再做判断

console.log(str.toLowerCase() == str1.toLowerCase());

trim

trim: 去除字符串左右空格

var str = '        (you are a girl)       ';
console.log(str);
console.log(str.trim());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值