先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Golang全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注go)
正文
范例:
let s = “lxq”;
let a = […s];a数组内容是l,x,q
9.函数
- JavaScript中的函数类似于Java中的方法
- 普通函数
语法:
function 方法名(参数){
方法体;
return 返回值;
}
注意:如果不需要返回值则不用写return语句,参数不用写类型
- 可变参数
语法:
function 方法名(…参数){
方法体;
return 返回值;
}
- 匿名函数
语法:
function(参数){
方法体;
return 返回值;
}
DOM
1.概述
- DOM指document object model,即文档对象模型
- 将HTML文档各个组成部分封装为对象,借助这些对象可以对HTML文档进行增删改查的动态操作
- 相关对象:
- Document,表示文档对象
- Element,元素对象
- Attribute,属性对象
- Text,文本对象
2.元素对象的操作
- 根据document文档对象来获取元素对象
方法 | 说明 |
---|---|
getElementById(id属性值) | 根据id属性获取元素对象 |
getElementsByTagName(标签名) | 根据标签名获取元素对象 |
getElementsByName(name属性值) | 根据name属性获取元素对象 |
getElementsByClassName(class属性值) | 根据class属性获取元素对象 |
- 根据当前元素对象获取父元素对象
子元素对象.parentElement
- 通过文档对象创建新元素对象
document.createElement(标签名);
- 将指定子元素对象添加到父元素中
父元素对象.appendChild(子元素对象);
- 父元素删除指定的子元素
父元素对象.removeChild(子元素对象);
- 父元素用新子元素替换旧子元素
父元素对象.replace(新元素,旧元素);
3.元素内属性操作
- 给元素设置属性
setAttribute(属性名,属性值);
- 根据属性名获取属性值
getAttribute(属性名);
- 根据属性名移除属性
removeAttribute(属性名);
- 为元素添加样式
方式一:
元素对象.style.样式=值;
如:
let ele = document.getElementById(“a”);
ele.style.color = “red”;
方式二:
元素对象.className = "类选择器名";
4.元素内文本操作
- 设置文本内容,不解析标签
元素对象.innerText="文本内容";
注意:不解析标签是指文本内容如果有HTML标签也不会解析,只会当成文本
- 设置文本内容,解析标签
元素对象.innerHTML="文本内容";
注意:这里的文本内容会被解析标签
事件
- 事件是某些组件完成某些操作时会触发的代码
- 常用事件
事件 | 说明 |
---|---|
onload | 某个页面或图像被加载完成 |
onsubmit | 表单提交时 |
onclick | 鼠标点击事件 |
ondblclick | 鼠标双击 |
onblur | 元素失去焦点 |
onfocus | 元素获得焦点 |
onchange | 用于改变域的内容 |
- 绑定事件的方式
- 通过标签中事件属性进行绑定
范例:
<button οnclick=“触发的操作”>
- 通过DOM元素进行绑定
let b = document.getElementById(“btn”);
b.οnclick=function(){//使用匿名方法
触发的操作;
}
面向对象
1.定义类的方式
- 方式1
语法:
class 类名{
//构造方法
constructor(变量列表){
变量赋值;
}
//普通方法
方法名(参数列表){
方法体;
return 返回值;
}
}
用法:
let 对象名 = new 类名(实际变量值);
对象名.变量名;
对象名.方法名();
- 方式2
语法:
//在定义类的时候已经创建了对象
let 对象名 = {
变量名 : 变量值,
变量名 : 变量值,
方法名 : function(参数列表){
方法体;
return 返回值;
},
方法名 : function(参数列表){
方法体;
return 返回值;
}
};
用法:
对象名.变量名;
对象名.方法名();
2.继承
- JS中顶级父类是Object
- 继承需要使用extends关键字
语法:
class 子类 extend 父类{}
- 继承范例
class Person{
constructor(name,age){
this.name = name;
this.age = age;
}
show(){
document.write(this.name+“,”+this.age+“
”);
}
}
class Worker extends Person{
constructor(name,age,salary){
//使用super()调用父类构造方法
super(name,age);
this.salary = salary;
}
show(){
document.write(this.name+“,”+this.age+“,”+this.salary);
}
}
let worker = new Worker(“张三”,23,15000);
worker.show();
内置对象
1.Number对象
parseFloat(s)
方法,将字符串浮点数转为浮点数parseInt(s)
方法,将字符串整数转为整数
2.Math对象
ceil(x)
方法,向上取整floor(x)
方法,向下取整round(x)
方法,四舍五入random()
方法,返回0到1之间的随机数,不含1pow(x,y)
方法,x的y次方
3.Data对象
- 构造方法
方法 | 说明 |
---|---|
Date() | 根据当前事件创建对象 |
Date(value) | 指定毫秒值创建对象 |
Date(year,month[,day,hour,min,sec,mill]) | 指定字段创建对象,月份是0到11 |
- 常用方法
方法 | 说明 |
---|---|
getFullYear() | 获取年份 |
getMonth() | 获取月份 |
getDate() | 获取天数 |
getHours() | 获取小时 |
getMinutes() | 获取分钟 |
getSeconds() | 获取秒 |
getTime() | 返回时间原点至今毫秒数 |
toLocalString() | 返回本地日期格式的字符串 |
4.String对象
- 构造方法
方法 | 说明 |
---|---|
String(value) | 根据指定字符串创建对象 |
let s = “字符串” | 直接赋值 |
- 常用方法
方法 | 说明 |
---|---|
length属性 | 获取字符串长度 |
charAt(index) | 获取指定索引处字符 |
indexOf(value) | 获取指定字符串出现的索引位置,不存在返回-1 |
substring(start,end) | 根据给出范围截取字符串,含头不含尾 |
split(value) | 根据指定规则切割字符串,返回数组 |
replace(old,new) | 使用新字符替换旧字符 |
5.RegExp对象
- 构造方法
方法 | 说明 |
---|---|
RegExp(规则) | 根据制定规则创建对象 |
let reg = /^规则$/ | 直接赋值 |
- 匹配方法:
test(字符串)
方法,用于查看字符串是否符合匹配规则
6.Array对象
- 常用方法
方法 | 说明 |
---|---|
push(元素) | 添加元素到数组末尾 |
pop() | 删除数组末尾元素 |
shift() | 删除数组最前面元素 |
includes(元素) | 判断数组是否包含指定的元素 |
reverse() | 反转数组中的元素 |
sort() | 对数组元素排序 |
7.Set对象
- 元素唯一,存取顺序一致
- 构造方法:
Set()
- 常用方法
方法 | 说明 |
---|---|
add(元素) | 添加元素 |
size属性 | 获取集合长度 |
keys() | 获取迭代器对象 |
delete(元素) | 删除指定元素 |
- Set集合遍历范例
let set = new Set();
set.add(“a”);
set.add(“b”);
let st = set.keys();
for(let i = 0;i < set.size;i++){
document.write(st.next().value);
}
8.Map对象
- key唯一,存取顺序一致
- 构造方法:
Map()
- 常用方法
方法 | 说明 |
---|---|
set(key,value) | 向集合添加元素 |
size属性 | 获取集合长度 |
get(key) | 根据key获取value |
entries() | 获取迭代器对象 |
delete(key) | 根据key删除键值对 |
- Map集合遍历范例
let map = new Map();
map.set(1,“a”);
map.set(2,“b”);
let et = map.entries();
for(let i = 0;i < map.size;i++){
document.write(et.next().value);
}
9.JSON对象
- JSON(JavaScript Object Notation)是一种轻量级的数据交换格式
- 它是基于ECMAScript规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据
- 简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于计算机解析和生成,并有效提升网络传输效率
- 常用方法
方法 | 说明 |
---|---|
stringfy(对象) | 将指定对象转换为json格式字符串 |
parse(字符串) | 将指定json格式字符串解析成对象 |
- 范例
let weather = {
city : “北京”;
date : “2022-08-08”;
temperature : “10~20”;
};
let str = JSON.stringfy(weather);
let weather2 = JSON.parse(str);
BOM
- BOM(Browser Object Model),是指浏览器对象模型
- 将浏览器各个组成部分封装成不同的对象,方便进行操作
- 具体有如下的对象
- Navigator,表示浏览器对象
- Window,窗口对象
- Location,地址栏对象
- History,窗口历史对象
- Screen,显示屏幕对象
- Window窗口对象常用功能
- 定时器
唯一标识 setTimeout(功能,毫秒值);
方法,用于设置一次性定时器,返回一个唯一标识clearTimeout(标识);
方法,根据标识取消一次性定时器唯一标识 setInterval(功能,毫秒值);
方法,设置循环定时器,返回一个唯一标识clearInterval(标识);
方法,根据标识取消循环定时器
- 加载事件:
window.onload=触发的事件
,用于页面加载完毕时触发的事件
- Location地址栏对象常用功能
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
w窗口对象常用功能
- 定时器
唯一标识 setTimeout(功能,毫秒值);
方法,用于设置一次性定时器,返回一个唯一标识clearTimeout(标识);
方法,根据标识取消一次性定时器唯一标识 setInterval(功能,毫秒值);
方法,设置循环定时器,返回一个唯一标识clearInterval(标识);
方法,根据标识取消循环定时器
- 加载事件:
window.onload=触发的事件
,用于页面加载完毕时触发的事件
- Location地址栏对象常用功能
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-pvL02lL0-1713184014064)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!