JavaScript 和 ES6
在这个过程你会发现,有很多 JS 知识点你并不能更好的理解为什么这么设计,以及这样设计的好处是什么,这就逼着让你去学习这单个知识点的来龙去脉,去哪学?第一,书籍,我知道你不喜欢看,我最近通过刷大厂面试题整理了一份前端核心知识笔记,比较书籍更精简,一句废话都没有,这份笔记也让我通过跳槽从8k涨成20k。
如果你觉得对你有帮助,可以戳这里获取:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
- getMonth() 获取月份
获取的月份是从0开始的(0~11) (0表示一年中的第一月) 返回的月份需要用+1
function date1() {
var date = new Date();
var yue = date.getMonth();
return yue+1; //如果不加1的话就是8月
}
console.log(date1()); //结果返回的是9月
var date = new Date(‘2018-9-3’);
console.log(date.getMonth()+1); //输入的是9月
- getDay() 获取星期 (周日0 - 周六6)
返回的是0~6 可以通过数组的方式 转换成 如下的星期,比较美观
var arr =[‘星期日’,‘星期一’,‘星期二’,‘星期三’,‘星期四’,‘星期五’,‘星期六’,]
var date = new Date();
var xing = date.getDay();
console.log(arr[xing]);
- 时间戳 (掌握)
时间戳也就是从1970年1月1日8点开始计算的毫秒数
获得时间戳的方法:
1、valueOf() || getTime()
两种方法都是返回Date对象的原始值
var date = new Date();
console.log(date.valueOf()); //等价于 console.log(date.get.Time());
得到的时间戳就是 1970年1月1日8点到目前的毫秒数
2、var date1 = +new Date();
返回的就是总的毫秒数 如果括号里面写了内容就是返回指定哪一天的毫秒数
你要得到当前年份的时间戳:
function getDayNum() {
var Day = new Date();
var getYear = Day.getFullYear(); //得到当前年份
var fDay = +new Date(getYear.toString);//这里是2021 1月1日 8点的时间戳
return fDay;
}
console.log(getDayNum());
注意:得到当前的年份将其转换成字符串形式 如果不添加toString就是返回的当前年份
3、Date.now()
计算的是 得到总的毫秒数,h5新增 当然有一定的兼容性
2.4、数组对象
1、检测是否为数组方法
- instanceof
var arr = [];
console.log(arr instanceof Array);//是一个数组返回就是true
- Array.isArray(需要检测的数组名) 方法
此方法也是h5新增的 使用的时候也要注意其兼容性
2、添加和删除元素
方法 | 解释 | 返回值 | |
添加元素 | push() | 在末尾添加一个或多个元素 | console.log(arr.push(4,'pink'));返回值是新数组的长度 原数组也会发生变化 console.log(arr);//返回的是新数组 |
添加元素 | unshift() | 在开头添加一个或者多个元素 | console.log(arr.unshift(4,'pink'));返回值是新数组的长度 |
删除元素 | pop() | 删除数组最后一个元素 | console.log (arr.pop());返回值是删除的那个元素 arr.pop();//最后的元素被删除了,里面不用写参数 |
删除元素 | shift() | 删除第一个元素 | 返回值 是 删除的元素 |
3、数组排序
翻转数组:arr.reverse();
var arr=[1,2,4,6,8,4,9,12,16,20,100];
var arrs= [‘松江’,‘张飞’,50,0];
console.log(arr.reverse());
console.log(arrs.reverse());
数组排序:arr.sort();
注意 它实现的是个位数排序
如果要实现几位数的排序:
var arr = [12,2,3,41,1]
arr.sort(function (a, b) {
return a - b; //按照升序的顺序排序
return b - a; //按照降序的顺序排序
});
console.log(arr);
4、数组索引
- indexOf(数组元素)
注意 :(1)根据数组元素返回它的索引号 内部查找的顺序是从前到后
(2)但是如果里面有两个元素一样,只返回第一个满足条件的索引
(3)如果数组里面没有该元素则返回的是-1 ,一般用来数组去重
(4)**indexOf(‘要查找的字符’,[起始的位置]) ,**当一个值重复出现,且需要找出它们的位置的时候 常用的方法
- lastindexOf(数组元素)
用法和上面一样 只不过内部查找的顺序是 从后到前
5、转换为字符串
- toString 将数组转换成字符串
var arr = [1,24,4]
console.log(arr.toString())
- join (分隔符)
分隔符可以自定义
var arr = [1,24,4]
console.log(arr.join(‘-’));
2.5、字符串对象
1、根据字符返回位置方法
一般和indexOf一起使用求字符串中某个字符出现的位置
var str = ‘改革春楚天’
console.log(str.indexOf(‘春’)) // 就得到了春的位置就是2
2、根据位置返回字符的方法
charAt(index) | 返回指定位置的字符 index字符串索引号 | 用法:可以遍历字符串 |
charCodeAt(index) | 获取指定位置处字符的ASCLL index索引号 | 用法:判断用户按的什么键 游戏开发 |
str[index] | 获取指定位置处字符 | h5新增,有兼容性 |
3、字符串的操作方法
concat(str1,str2,str3...) | 链接两个或多个字符串 等效与 + var str = 'andy'; |
substr(截取的起始位置,截取几个字符) | 从起始位置开始(索引号),length取的个数 |
slice(start,end) | 从start位置开始,截取到end位置,end取不到 两个都是索引号 |
substring(start,end) | 从start位置开始,截取到end位置,end取不到 但是不接受负值 |
repalce('被替换的字符',‘替换为的字符’) | 如果有相同的字符 那么只替换第一个字符 |
split('分隔符') 字符串转换为数组 | 分隔符是根据字符串里面的一样 |
toUpperCase() | 转换大写 |
toLowerCase() | 转换为小写 |
下面这个例子是一个典型题,要掌握哦