阿里前端工程师面试手册,JavaScript—,web前端开发工程师培训课程

本文详细介绍了JavaScript中DOM节点操作的方法,如子元素节点获取、兄弟节点访问,以及闭包、作用域链和变量提升的概念。同时,提到了一份针对前端开发者的全套学习资料,涵盖了基础知识到进阶课程,旨在帮助自学者提升技能并降低学习成本。
摘要由CSDN通过智能技术生成

子元素节点的获取方法:

  1. childNodes:获取该节点的子节点,获取所有的子节点,不分类型

console.log(ul[0].childNodes);

  1. childElementCount:获取并返回 该节点的 子元素节点数量

console.log(ul[0].childElementCount);

  1. children:获取到所有的子元素节点

console.log(ul[0].children);

  1. firstElementChild:获取第一个子元素节点

console.log(ul[0].firstElementChild);

  1. firstChild:获取第一个子节点

console.log(ul[0].firstChild);

  1. firstElementChild:获取第一个子元素节点

console.log(ul[0].firstElementChild);

  1. lastChild:获取最后一个子节点

console.log(ul[0].lastChild);

  1. lastElementChild:获取最后子元素节点

console.log(ul[0].lastElementChild);


兄弟节点的获取方法:

  1. nextElementSibling:获取该节点的下一个兄弟元素节点

console.log(ul[0].nextElementSibling);

  1. nextSibling:获取该节点的下一个兄弟节点

console.log(ul[0].nextSibling);

  1. previousElementSibling:获取该节点的 上一个兄弟元素节点

console.log(ul[0].previousElementSibling);

  1. previousSibling:获取该节点的 上一个兄弟节点

console.log(ul[0].previousSibling);


创建节点:

语法:

var li_new = document.createElement(“li”);

备注: 元素创建完成后,并不在DOM树中,需要我们手动添加

添加节点:

  1. appendChild: 添加到目标里的最后一位

目标.appendChild(内容)

ul[0].appendChild(li_new);

  1. insertBefore:将新节点,添加到已有的节点之前

父节点.insertBefore(新的节点,已有的节点)

ul[0].insertBefore(li_new,ul_li[0]);

备注: 添加到的目标,一定是在页面中已经存在的

删除节点:

  1. removeChild

指定目标的父元素.removeChild(指定目标)

ul[0].removeChild(ul_li[0]);

  1. remove

指定目标.remove()

ul_li[0].remove();

替换节点:

替换目标的父元素.replaceChild(新的元素,被替换的元素);

ul[0].replaceChild(meng,ul_li[0]);

克隆节点:

// 需要克隆的目标.cloneNode() ,该方法会将克隆体返回

var meng_two = meng.cloneNode();

nodeName: 返回节点名称

nodeValue: 返回节点属性

nodeType: 返回节点类型

闭包

============================================================

闭包的本质: 它就是个函数

概念: 能够访问其他函数内部变量的 函数

条件:

  1. 在函数中嵌套定义另外一个函数

  2. 被嵌套的函数(在里面的那个),一定要访问外部函数的变量

  3. 被嵌套的函数要返回

原理: 通过作用域链

作用: 能持久化 局部变量, 手动 控制局部变量的回收时间

弊端: 不能够大批量的使用,会造成程序加载过慢. 极容易造成内存泄露

返回的方式:

function big(){

var c = 10;

//返回的方式1:

// return function small(){

// console.log©;

// }

// 返回的方式2:

// return function (){

// console.log©;

// }

//返回的方式3:

function small(){

console.log©;

}

return small;

// 函数带着(), 是执行。 不带(), 只是定义

}

var test = big();

test();

作用域链

==============================================================

作用域链:

先在当前作用域的上下文中查找,找到即执行

如果没有,继续向 上 一层查找,找到即执行。

如查找到全局中,依然没有,报错,阻断程序运行

变量提升:

如果使用了未声明的变量,正常情况会因为找不到而报错

但在使用的下方,出现了它的声明。 会默认将它提升到使用之前。不包括值

先使用,后声明。 该变量的 因变量提升, 可以找到,但值为undefind;

存在的意义: 保证后续任务继续执行,只是失去了 当前功能的值

匿名函数

==============================================================

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

我特地针对初学者整理一套前端学习资料

前端路线图

vue.js的36个技巧

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

我特地针对初学者整理一套前端学习资料

[外链图片转存中…(img-QiciAaNW-1712354220809)]

[外链图片转存中…(img-2EJvmt20-1712354220809)]

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值