BAT及各大互联网公司2024前端笔试面试题--JavaScript篇(1)

本文详细探讨了JavaScript的前端面试重点,包括原型链、浏览器存储、作用域链、闭包、箭头函数与普通函数的区别、对象拷贝、new运算符的工作原理、类型判断、模块化、防抖与节流等核心概念。还强调了面试中理解并能够解释这些概念的重要性,以助力开发者成功获取心仪职位。
摘要由CSDN通过智能技术生成

return Object.prototype.toString.call(arg)===“[object Array]”

};

}

4.简单说一下浏览器本地存储是怎样的


总的来说,浏览器存储分为以下几种:

1、Cookie存储,明文,大小限制4k等

2、localStorage,持久化存储方式之一,不用在两端之间传输,且限制大小为10M

3、sessionStorage,会话级存储方式,浏览器关闭立即数据丢失

4、indexDb,浏览器端的数据库

5.原型链:


原型链是由原型对象组成,每个对象都有 proto 属性,指向了创建该对象的构造函数的原型,proto 将对象连接起来组成了原型链。是一个用来实现继承和共享属性的有限的对象链。

属性查找机制: 当查找对象的属性时,如果实例对象自身不存在该属性,则沿着原型链往上一级查找,找到时则输出,不存在时,则继续沿着原型链往上一级查找,直至最顶级的原型对象Object.prototype,如还是没找到,则输出 undefined;

属性修改机制: 只会修改实例对象本身的属性,如果不存在,则进行添加该属性,如果需要修改原型的属性时,则可以用: b.prototype.x = 2;但是这样会造成所有继承于该对象的实例的属性发生改变。

6.变量对象


变量对象,是执行上下文中的一部分,可以抽象为一种 数据作用域,其实也可以理解为就是一个简单的对象,它存储着该执行上下文中的所有 变量和函数声明(不包含函数表达式)。

活动对象 (AO): 当变量对象所处的上下文为 active EC 时,称为活动对象。

7.作用域链


我们知道,我们可以在执行上下文中访问到父级甚至全局的变量,这便是作用域链的功劳。作用域链可以理解为一组对象列表,包含 父级和自身的变量对象,因此我们便能通过作用域链访问到父级里声明的变量或者函数。

由两部分组成:

  • [[scope]]属性: 指向父级变量对象和作用域链,也就是包含了父级的[[scope]]和AO

  • AO: 自身活动对象

如此 [[scopr]]包含[[scope]],便自上而下形成一条 链式作用域。

8.闭包


闭包属于一种特殊的作用域,称为 静态作用域。它的定义可以理解为: 父函数被销毁 的情况下,返

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值