JAVAscript面试重点
文章插图
什么是执行上下文执行上下文就是当前 JavaScript 代码被解析和执行时所在环境的抽象概念,JavaScript 中运行任何的代码都是在执行上下文中运行
文章插图
【javascript必会知识及面试重点】这是因为当函数执行的时候,首先会形成一个新的私有的作用域,然后依次按照如下的步骤执行
- 如果有形参,先给形参赋值
- 进行私有作用域中的预解释,函数声明优先级比变量声明高,最后后者会被前者覆盖,但是可以重新赋值
- 私有作用域中的代码从上到下执行
闭包的作用
- 使用闭包可以访问函数中的变量
- 可以长期保存在内存中,声明周期比较长
- 注意:闭包不能乱用,否则会导致内存泄露,影响网页的性能 。闭包使用完之后,要立即释放资源,将引用的变量指向null
- 函数作为参数传递
- 函数作为返回值
一个 Ajax 请求由于网络比较慢,请求需要 5 秒钟 。如果是同步,这 5 秒钟页面就卡死在这里啥也干不了了 。异步的话,就好很多了,5 秒等待就等待了,其他事情不耽误做,至于那 5 秒钟等待是网速太慢,不是因为 JS 的原因
前端使用异步的场景
- setTimeout setInterval
- 网络请求ajax,动态加载
- 事件绑定
原型链:JavaScript万物都是对象,对象和对象之间也有关系,并不是孤立存在的 。对象之间的继承关系,在JavaScript中是通过prototype对象指向父类对象,直到指向Object对象为止,这样就形成了一个原型指向的链条,专业术语称之为原型链 。
var Person = function(){this.name = '匿名',this.age = 18}var Student = function(){} Student.prototype = new Person(); var s1 = new Student(); DOM操作
- 新增节点和移动节点
- 获取父元素
- 获取子元素
- 捕获阶段 事件从window对象自上而下向目标节点传播的阶段
- 目标阶段 真正的目标节点正在处理事件的阶段
- 冒泡阶段 事件从目标节点自下而上向window对象传播的阶段
阻止冒泡
ev.stopPropagation()
文章插图
事件代理(事件委托)由于事件会在冒泡的阶段向上传播到父节点,因此可以把子节点的监听函数定义在父节点上,由父节点的监听函数统一处理多个子元素的事件,这种方式叫做事件的代理
我们设定一种场景,一个div包含若干个a,而且还能继续增加,那如何快捷方便的为所有a绑定事件呢
文章插图
如果给每个a标签都绑定一个事件,那对内存的消耗是非常巨大的,借助事件代理,我们只需要给父容器div绑定方法即可,
推荐阅读
- 共有产权房值得买么?| 涨知识
- android知识点总结
- 如何选购电脑内存条?小白装机通俗易懂的电脑内存选购知识指南
- Web前端开发基础:HTML、CSS、JavaScript分别实现什么功能?
- SQL高级知识——动态SQL
- 网络数据包分析基础知识
- 10个 javascript精简代码集合
- 罗西尼机械表如何保养知识指南
- 不知道什么是针灸?那就看看针灸知识全解
- 体寒艾灸穴位,教你专业知识!