先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
正文
2.1 鼠标悬浮事件
let btn= $my(“btn”);
let div2 = $my(“div2”);
// 鼠标悬浮事件
btn.onmouseover = function(){
div2.style.display = “block”;
}
// 鼠标离开事件
btn.onmouseout = function(){
div2.style.display = “none”;
}
此处的 $my() 已经进行过封装,这样很方便,代码如下:
function $my(id){
return document.getElementById(id);
}
2.2 点击事件
let timeId = null;
// 单击事件
function clickFn(){
clearTimeout(timeId);
timeId = window.setTimeout(function(){
console.log(“单击事件”);
}, 500)
}
// 双击事件
function dbFn(){
clearTimeout(timeId)
console.log(“双击事件”)
}
2.3 常用的回车事件
// 键盘事件
function keyFn(event){
console.dir(event);
}
// 监听窗口回车事件
document.onkeyup = function(event){
console.log(event.keyCode);
if(event.keyCode === 13){
alert(“回车事件”)
}
}
3.1 获取浏览器类型
let userAgent= navigator.userAgent;
console.log(userAgent);
if (userAgent.indexOf(“Opera”) > -1) { // 判断是否是Opera浏览器
console.log(“Opera”);
};
if (userAgent.indexOf(“Firefox”) > -1) { // 判断是否是Firefox浏览器
console.log(“Firefox”);
}
if (userAgent.indexOf(“Chrome”) > -1) { // 判断是否是Chrome浏览器
console.log(“Chrome”);
}
if (userAgent.indexOf(“Safari”) > -1) { // 判断是否是Safari浏览器
console.log(“Safari”);
}
if (userAgent.indexOf(“compatible”) > -1 && userAgent.indexOf(“MSIE”) > -1) {
console.log(“IE”); // 判断是否是IE浏览器
};
3.2 判断手机机型(移动端解决兼容问题常用)
// 检测机型 安卓还是苹果
function getAdr(){
//获取机型信息
let type = navigator.userAgent;
let isAndroid = type.indexOf(“Android”) > -1 ||
type.indexOf(“Adr”) > -1;
return isAndroid;
}
console.log(getAdr()); // true为安卓 false为苹果
HTML文件代码如下(记得先复制这个)
事件冒泡
div的文本
我是段落标签
事件委托
- 1
- 2
- 3
- 4
增加一个li
4.1 阻止事件冒泡
-
事件冒泡:当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级,一直到window
-
显然,这是错误的,需要做处理(就像儿子都成年了,做错了事,凭什么找老子?)
// 如果不做处理,点击p标签时会触发div的点击事件
function divFn(e){
console.log(“div被点击了”);
}
function pFn(e){
console.log(“段落被点击了”);
window.event ?
window.event.cancelBubble = true :
// 阻止事件冒泡
e.stopPropagation();
}
4.2 事件委托
-
事件委托:把一个元素响应事件(点击事件、悬浮事件等等)的函数委托给另一个元素
-
举两个例子:
-
隔壁老王和老婆分手了,所以只能委托我去爱她老婆(好坏哦~)
-
放公司的快递到了,因为我请假爱老王老婆去了,所以只能委托前台签收一下
-
在JS中,这是一种好的处理方式:大大的减少dom操作,提升性能
不用事件委托,你得这么处理:
- 循环添加事件,显然,这是很蠢的
for (var i=0;i<aLi.length;i++) {
aLi[i].onmouseover = function() {
this.style.background = ‘orange’;
}
aLi[i].onmouseout = function(){
文末
篇幅有限没有列举更多的前端面试题,小编把整理的前端大厂面试题PDF分享出来,一共有269页
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
ps://img-blog.csdnimg.cn/img_convert/04273c2f50e58b6822663c5b2f379206.png)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-gT3zi5BH-1713684854644)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-