[Web前端面试]-----葵花宝典 JS篇

一.作用域链

当代码在一个环境中执行时,会创建变量对象的一个作用域链,由子级作用域返回父级作用域中,寻找变量,就叫作用域链

二.事件冒泡,它是如何工作的?如何阻止事件冒泡、默认行为

  • 在一个对象上触发某类事件,这个事件会像这个对象的父级对象传播,从里到外,知道它被处理,或者它达到这个对象的最顶层
  • 阻止事件冒泡。默认行为:w3c方法是:event.stopPropagation(),阻止事件过程中,阻止事件冒泡,但不会阻止默认行为 比如(跳转至超链接)

三.事件三要素

事件流描述的是从页面中接收事件的顺序,事件流包括下面几 阶段。

  • 事件捕获阶段

  • 处于目标阶段

  • 事件冒泡阶

四.事件委托的理解

简单理解就是给父元素注册事件委托子元素执行

有以下优点:

  • 减少事件注册,节省内存
  • 在table上代理所有的id的click事件
  • 在ul上代理所有li的click事件
  • 简化了dom节点更新时,相应事件更新
  • 当删除某个li时,不用移解绑上面的clikc事件

有以下缺点:

  • 事件委托基于冒泡,对不冒泡的事件不支持
  • 层级过多,冒泡过程中可能被某个层级阻止

五.常用的数组法

  1. join()   将一个数组转换成字符串
  2. reverse()   将数组各元素颠倒顺序
  3. delete()   运算符,只能删除数组元素的值,而所占的空间还在,总长度不变
  4. shift()   删除数组中第一个元素,返回删除的那个值,长度-1
  5. pop()   删除数组中最后一个元素,返回删除的那个值,长度-1
  6. unshift()   往数组前面添加一个或多个元素,长度改变
  7. push()   往数组结尾天界一个或多个数组元素,长度改变
  8. concat()   连接数组
  9. slice()   返回数组一部分
  10. splice()   插入,删除,替换数组的元素
  11. sort()   对数组元素进行排序
  12. toStoring()   将数组转换成一个字符串
  13. forEach()   遍历所有元素

六.js中的作用域

作用域分全局作用域、局部作用域、和块级作用域

  • 全局作用域:最外层的函数定义的变量拥有全局作用域,即内部函数都是可以访问的
  • 局部作用域:局部作用域一般只在固定的代码片段内可以访问,而外部的函数是无法访问到的
  • 块级作用域:只要是代码块就可以划分为变量的作用域,这种作用域就叫会计作用域

七.说一下闭包

闭包就是一个作用域可以访问另外一个函数内部的局部变量,或者说一个函数访问另外一个父函数中的变量

八.for in 和for of 的区别

  1. 循环对象属性的时候推荐使用for in 变量数组的时候使用for of
  2. for in循环出的是key for of循环出的是value
  3. for of 不能循环普通的对象,需要通过object.keys()搭配使用

九.call和apply,bind的区别

共同点:

  1. 都是改变函数的this指向的
  2. 都可以利用后续参数传参

不同点:

  1. call和apply方法类似,区别就是call方法接受的是参数列表,apply方法接受的是一个参数数组
  2. bingd是创建一个心得函数,


十.new操作具体干了哪些事

  1. 创建一个空对象
  2. this会指向这个对象
  3. 会给这个对象赋值
  4. 最后返回这个对象

十一.js的垃圾回收机制

垃圾回收机制就是防止内存泄漏,所谓内存泄漏就是当不需要某个模块的时候,那个模块还存在着,垃圾回收机制就是不定期的寻找哪些没有使用过得模块,释放他们所指向的内存

十二.HTTP和HTTPS的区别

  1. HTTPS 协议需要申请证书,需要购买
  2. HTTP与HTTPS相比后者会具有比较好的安全性,
  3. 两者使用的连接方式不同,端口号也不同
  4. HTTP连接简单,是无状态的,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值