先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
正文
(11)JavaScript的设计原则主要来自于Self和Scheme。JavaScript的作用,通俗的来讲就是做特效使用的
(12)学习截止到这里: 2.2 JavaSsript数据结构 3.5 内容伪类选择器
(13)所有JavaScript变量都是由var声明。一个好的编程习惯是,在代码开始出,统一对需要的变量进行声明
(14)JavaScript中的基本数据类型:Number(所有数字都是有浮点数表示的),String,Boolean。特殊数据类型:null,undefined,转义字符
(15)JavaScript中,程序中的字符串型数据是包含在单引号或双引号中的,由单引号定界的字符串中可以含有双引号,由双引号定界的字符串中也可以含有单引号。单引号出现双引号”或“双引号出现单引号”时,不需要进行转义。但是,“单引号内出现单引号”或“双引号内出现双引号”则必须进行转义
(16)JavaScript中的布尔型的值为true,一个对象的值为true,"0,空字符串,null,undefined"值为false
(17)null不占有内存空间,表示一个变量被赋予了空值。undefined不占有内存空间,表示变量还未被赋值,undefined比null更低级一些。空字符串和0是占有内存空间的。
(18)NaN表示的是一个非数值型数据
(20)typeof(null)的值是object。
(21)typeof()运算符用于返回操作数当前所容纳的数据类型,常用于判断一个变量是否已经被赋值
(21)JavaJavaScript里面的常量,变量等是严格区分大小写的
(22)var d=new Data();var time=d.getHours();//获得小时数
(23)var d=new Data();var time=d.getDay();//获得星期几
(24)var str=“how are you”;var length=str.length;var cha=str.charAt(i);//注意,i是从0开始数的
(25)定义函数必须使用function关键字
(26)函数执行=定义函数+调用函数
(27)定义函数的参数叫形式参数,调用函数时的参数叫实参
(28)学习截止到这里: 4.4 几种特殊的函数 3.5 内容伪类选择器
(29)伪类选择器中,:header表示选择h1~h6的标题元素。伪类选择器都是以英文冒号开头的
(30)odd代表奇数,even代表偶数
(31)$(“p:contains(jQuery)”).css(“background-color”, “red”);会让包含jQuery的这一行颜色都有所改变
(33)jQuery里面的选择器分为四种:基本选择器,层次选择器,伪类选择器,表单选择器
删除元素属性:$().removeAttr(``"属性名"``)
(35)超链接里面的title设置的是,当鼠标移动到这个链接上面的时候,给出的提示
(28)学习截止到这里: 4.4 几种特殊的函数 4.2 内容操作 第二章 线性表(3)
(29) var x=document.getElementByID(“num1”).value x可以直接用来参与运算了
(30)递归中尽量使用 return num*arguments.callee(num-1);这样在调用的时候不会出错。arguments.callee是一个指向正在执行的函数的指针。
(31)eval()的功能非常强大,但是不经常使用它。eval()函数可以把一个字符串当做一个JavaScript表达式一样去执行计算。
(32)isFinite()函数用来确定某一个数是否是一个有限数值
(33)isNaN()函数来判断一个值是否是NaN值(非数值型)
(34)parseInt()函数和parseFloat()函数
(35)JavaScript中的字符串,可以用单引号或者双引号引起来,这个都是无所谓的
(36)null和undefined没有toString()方法。两种不同的用法:String(变量名称),变量名称.toString(2)转化成二进制
(37)$(``"#p2"``).html(``"<strong>jQuery入门教程</strong>"``);用来改变页面元素的内容
(38)jQuery中,html()是认页面元素标签的,而text()是不认页面元素标签的
(40)获得宽度的时候,可以通过这两种方法实现:$().width();结果为“100”。$().css("width")结果为“100px”
(41)设置宽度的时候,可以通过这种方法来实现:$().width(100),$().css("width","100px"),不能混淆,要不
然容易出错
(43)如果我们对父元素设置position:relative,我们就可以使用position:absolute来设置子元素相对于父元素的
定位距离,这就是我们常说的“外相对,内绝对”
(44)学习截止到这里: 6.1字符串对象简介 6.1 DOM操作简介 第二章 线性表(3)
![](https://img-blog.csdn.net/20161021101026532?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
(45)getDate()返回一个月中的第几天,1-31之间的一个整数
(46)getFullYear(),getMonth(),0-11之间的一个整数
(47)getDay()返回一个星期的第几天,星期日的值是0
(48)传统密码:安全是基于对算法进行保密,对参数进行保密。
(49)公钥密码使得发送端和接收端无秘钥成为可能
(50)秘钥就是加密算法:移位密码,取任意一个字母按照一定的对应方式去修改。置换密码,置换字母位置
转子机。对称密码算法DES:秘钥长度短,不是那么安全了,内部的设计是保密的
(51)加密操作:代换,置换,多重加密
(53)对称加密:发送方和接收方共享相同的秘钥。怎样破解?分析加密算法,或者强力攻击,就是根据已知信息,
遍历出所有可能的密码
(54)公开秘钥密码学相关的两个问题:秘钥分配,数字签名
(55)公钥加密算法:是密码学的分水岭,使得密码学成为一门科学。要求有一个公钥和一个私钥,双方很难相互推导出来
。发送方和接收方使用不同的秘钥。公钥加密算法比对称加密算法要慢很多倍。公钥加密又叫非对称加密算法。
公钥加密算法是目前使用最广泛的加密算法。加密消息的秘钥是不能来解密消息的。甲用乙的共有秘钥对报文进行加密,
只有乙的私有秘钥才能够解密消息,这谁
都不能知道。报文一定是用乙的私有秘钥加密(签名)的。先签名,再加密。
当报文用用乙的私有秘钥加密,再用共有秘钥加密后。如果甲收到的报文是无误的,才能用已的共有秘钥解开报文。同时,
既然能解开,说明报文就是乙发送的。
(17)RSA算法,奠定了公钥加密算法的地位,是应用最广泛的加密算法。大数分解非常难,所以黑客无法破解。
(18)如何保证数据没有被篡改。认证函数,消息认证码,散列函数。散列函数的特点:容易计算,单向性,抗碰撞性。
(20)数字签名:验证作者,内容,第三方验证,表达个人对实施内容的知晓和认可。实际上就是一个认证的功能
(21)学习截止到这里: 7.1日期对象 6.1 DOM操作简介 第二章 线性表(3)
(22)一个完整的http请求过程:
(23)Content-Type:application/x-www-form-urlencoded
(26)学习截止到这里: 7.1 AJAX 6.1 DOM操作简介 排序算法中的:9.4 选择排序
(27)重写父类中的方法 @Override
(28)希尔排序中:如果采用直接插入排序作为子序列的排序方法,那么当 n 很大时,排序码平均比较次数和元素平
均移动次数大约在 n1.25 到 1.6n1.25 的范围内。
(29)快速排序的时间复杂度为:O(nlog2n)。快速排序的趟数取决于递归树的高度,因此空间复杂度取决于递归树
的高度
(30)实际开发过程中,强烈建议在使用数组的时候,数组元素的数据类型一定要相同
(31)array.slice(2,5),从数组元素的第二个数开始,直到第四个元素,不包含第五个元素
(32)array.unshift(‘a’),在数组头部加入元素a。array.push(‘a’),在数组尾部加入元素a
(33)array.shift()删除数组中的第一个元素,array.pop()删除数组中的最后一个元素
(34)array.join(“*”)使用分隔符*把不同字符串分开
(35)array1.concat(array2);连接字符串
(37)一个数的返回类型:Infinity,意思是无限大
(38)Math.round() 四舍五入函数,但应该注意,正数和负数的四舍五入方式是有一些差别的,3.5将舍入为4,
而-3.5将舍入为-3
(39)Math.ceil()上舍入,Math.floor()下舍入
(40)window.open(URL, 窗口名称, 参数);对参数的一些说明,top=100,left=100,width=200,
height=100,resizable(窗口大小可以调整),scrollbars(给窗口加入滚动条)
(42)学习截止到这里: 7.1 AJAX 11.1、JavaScript对话框 6.1 DOM操作简介 排序算法中的:9.4 选择排序
(43) window.alert()可以简写成alert(),是因为window对象是全局对象。prompt()提示信息
(44)document对象是window对象中的子对象,用于操作html文档
(45)document.writeln(“”);在输出内容的同时,在内容后面加一个换行符,注意只是添加了一个"\n",并没有起到
用户所期待的特殊效果。再把writeln(“”)放入标签
中才会显现出换行的效果。因为:pre标签能够把该标签内的换行符,空格等识别并解析出来。
总结
大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-8ibPTTD6-1713687238335)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!