位置: IT常识 - 正文

【学姐面试宝典】前端基础篇Ⅳ(JavaScript)(学长学姐面试要注意哪些细节)

编辑:rootadmin
【学姐面试宝典】前端基础篇Ⅳ(JavaScript)

推荐整理分享【学姐面试宝典】前端基础篇Ⅳ(JavaScript)(学长学姐面试要注意哪些细节),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:面试官是学姐怎么称呼,学长学姐面试,面试学弟学妹问题,学长学姐面试,学长学姐面试怎么称呼,学长学姐面试怎么称呼,学长学姐面试怎么称呼,面试官是学姐怎么称呼,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

博主主页👉🏻蜡笔雏田学代码 专栏链接👉🏻【前端面试专栏】 今天继续学习前端面试题相关的知识! 感兴趣的小伙伴一起来看看吧~🤞

文章目录webpack 的作用什么是按需加载如何理解前端模块化讲讲 JS 的语言特性get 请求传参长度的误区补充 get 和 post 请求在缓存方面的区别说一下闭包图片的懒加载和预加载JS 实现跨域onmouseover 和 onmouseenter 的区别======和=========、以及 Object.is 的区别null == undefined 为什么this 的指向有哪几种写一个函数,第一秒打印 1,第二秒打印 2JS 的各种位置,比如 clientHeight、scrollHeight、offsetHeight、以及 scrollTop、clientTop的区别将原生的 ajax 封装成 promise性能优化

webpack 的作用

webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。

什么是按需加载

当用户触发了动作时才加载对应的功能。触发的动作,是要看具体的业务场景而言,包括但不限于以下几个情况:鼠标点击、输入文字、拉动滚动条、鼠标移动、窗口大小更改等。加载的文件,可以是 JS、图片、CSS、HTML 等。

如何理解前端模块化【学姐面试宝典】前端基础篇Ⅳ(JavaScript)(学长学姐面试要注意哪些细节)

前端模块化就是复杂的文件编程一个一个独立的模块,比如 JS 文件等等,分成独立的模块有利于重用(复用性)和维护(版本迭代),这样会引来模块之间相互依赖的问题,所以有了 commonJS 规范,AMD,CMD 规范等等,以及用于 JS 打包(编译等处理)的工具 webpack。

讲讲 JS 的语言特性运行在客户端浏览器上不用预编译,直接解析执行代码是弱类型语言,较为灵活与操作系统无关,跨平台的语言脚本语言、解释性语言get 请求传参长度的误区

误区:我们经常说 get 请求参数的大小存在限制,而 post 请求的参数大小是无限制的。 实际上 HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对 get 请求参数的限制是来源于浏览器或 web 服务器,浏览器或 web 服务器限制了 url 的长度。 为了明确这个 概念,我们必须再次强调下面几点:

HTTP 协议未规定 GET 和 POST 的长度限制。GET 的最大长度显示是因为浏览器和 web 服务器限制了 URL 的长度。不同的浏览器和WEB 服务器,限制的最大长度不一样。要支持 IE,则最大长度为 2083byte,若只支持 Chrome,则最大长度 8182byte。补充 get 和 post 请求在缓存方面的区别get 请求类似于查找的过程,用户获取数据,可以不用每次都与数据库连接,所以可以使用缓存。post 不同,post 做的一般是修改和删除的工作,所以必须与数据库交互,所以不能使用缓存。因此 get 请求适合于请求缓存。说一下闭包

一句话可以概括:闭包就是指有权访问另外一个函数作用域中的变量的函数。或者子函数在外调用, 子函数所在的父函数的作用域不会被释放。

闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在。闭包就是函数的“堆栈”在函数返回后并不释放,我们也可以理解为这些函数堆栈并不在栈上分配而是在堆上分配。当在一个函数内定义另外一个函数就会产生闭包。

图片的懒加载和预加载预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。懒加载:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数。两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。 懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。JS 实现跨域JSONP:通过动态创建 script,再请求一个带参网址实现跨域通信。CORS:服务端设置 Access-Control-Allow-Origin 即可,前端无须设置,若要带 cookie 请求,前后端都需要设置。代理跨域:开启一个代理服务器,实现数据的转发。 可参考之前一篇文章详细讲解了跨域相关知识onmouseover 和 onmouseenter 的区别onmouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发冒泡的过程。对应的移出事件是onmouseout。onmouseenter:当鼠标移入元素本身(不包含元素的子元素)会触发事件,也就是不会冒泡,对应的移出事件是onmouseleave。======和=========、以及 Object.is 的区别== 主要存在:强制转换成 number,null==undefined" "==0 //true"0"==0 //true" " !="0" //true123=="123" //truenull==undefined //trueObject.is()方法判断两个值是否是相同的值,主要的区别就是+0 != -0,而 NaN======NaN (相对比=========和======的改进)null == undefined 为什么

要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,但 null == undefined 会返回 true 。ECMAScript 规范中是这样定义的。

this 的指向有哪几种默认绑定:全局环境中,this 默认绑定到 window。隐式绑定:一般地,被直接对象所包含的函数调用时,也称为方法调用,this 隐式绑定到该直接对象。隐式丢失:隐式丢失是指被隐式绑定的函数丢失绑定对象,从而默认绑定到 window。显式绑定:通过 call()、apply()、bind()方法把对象绑定到 this 上,叫做显式绑定。new 绑定:如果函数或者方法调用之前带有关键字new,它就构成构造函数调用。对于 this 绑定来说,称为 new 绑定。写一个函数,第一秒打印 1,第二秒打印 2//方法一:用 let 块级作用域for (let i = 1; i < 6; i++) { setTimeout(() => { console.log(i) }, 1000 * i) }//方法二:闭包for (var i = 1; i < 6; i++) { (function (i) { setTimeout(function () { console.log(i) }, 1000 * i) })(i) }JS 的各种位置,比如 clientHeight、scrollHeight、offsetHeight、以及 scrollTop、clientTop的区别clientHeight:表示可视区域的高度,不包含 border 和滚动条。offsetHeight:表示可视区域的高度,包含了 border 和滚动条。scrollHeight:表示了所有区域的高度,包含了因为滚动被隐藏的部分。clientTop:表示边框 border 的厚度,在未指定的情况下一般为 0。scrollTop:滚动后被隐藏的高度,获取对象相对于由 offsetParent 属性指定的父坐标(css定位的元素或 body 元素)距离顶端的高度。将原生的 ajax 封装成 promisevar myNewAjax = function (url) { return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open('get', url); xhr.send(data); xhr.onreadystatechange = function () { if (xhr.status == 200 && readyState == 4) { var json = JSON.parse(xhr.responseText); resolve(json) } else if (xhr.readyState == 4 && xhr.status != 200) { reject('error'); } } })}性能优化减少 HTTP 请求使用内容发布网络(CDN)添加本地缓存压缩资源文件将 CSS 样式表放在顶部,把 javascript 放在底部(浏览器的运行机制决定)避免使用 CSS 表达式减少 DNS 查询使用外部 javascript 和 CSS避免重定向图片 lazyLoad

今天的分享就到这里啦✨\textcolor{red}{今天的分享就到这里啦✨}今天的分享就到这里啦✨

原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下

🤞 点赞,你的认可是我创作的动力!\textcolor{green}{点赞,你的认可是我创作的动力!}点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!\textcolor{green}{收藏,你的青睐是我努力的方向!}收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!\textcolor{green}{评论,你的意见是我进步的财富!}评论,你的意见是我进步的财富!

本文链接地址:https://www.jiuchutong.com/zhishi/300497.html 转载请保留说明!

上一篇:javascript常用的数组方法(javascript常用的数据类型)

下一篇:使用您自己的计算机训练 Stable Diffusion 和 Bloom (175B) 等模型(让我用用你的计算机)

  • ppt自动切换下一页怎么取消(ppt自动切换下一页快捷键)

    ppt自动切换下一页怎么取消(ppt自动切换下一页快捷键)

  • wechat和微信的区别是什么(wechat和微信的区别知乎)

    wechat和微信的区别是什么(wechat和微信的区别知乎)

  • 淘宝交易保护会多久解除(淘宝交易被保护是怎么回事)

    淘宝交易保护会多久解除(淘宝交易被保护是怎么回事)

  • ios系统降级关闭了吗

    ios系统降级关闭了吗

  • 12306短信发送失败(发送短信到12306失败)

    12306短信发送失败(发送短信到12306失败)

  • 位寻址和字节寻址区别(位寻址和字节寻址转换)

    位寻址和字节寻址区别(位寻址和字节寻址转换)

  • 视频聊天流量耗的多吗(视频聊天 流量)

    视频聊天流量耗的多吗(视频聊天 流量)

  • 打印机usb连接电脑无法识别(打印机USB连接电脑)

    打印机usb连接电脑无法识别(打印机USB连接电脑)

  • 个人能在亚马逊上开店吗(个人在亚马逊网上开店)

    个人能在亚马逊上开店吗(个人在亚马逊网上开店)

  • 淘宝直播名字前面皇冠什么意思(淘宝直播名字前面红色)

    淘宝直播名字前面皇冠什么意思(淘宝直播名字前面红色)

  • 如何让自家的网不被蹭(如何让自家的网络变快)

    如何让自家的网不被蹭(如何让自家的网络变快)

  • 怎么给微信好友设置静音(怎么给微信好友换头像)

    怎么给微信好友设置静音(怎么给微信好友换头像)

  • 红米note8需要贴钢化膜吗(红米note8pro屏幕不贴膜会不会划伤)

    红米note8需要贴钢化膜吗(红米note8pro屏幕不贴膜会不会划伤)

  • 魅族m882q是什么型号(魅族m882是什么型号)

    魅族m882q是什么型号(魅族m882是什么型号)

  • 韩剧tv怎样切换清晰度(韩剧tv怎么换成国语呢)

    韩剧tv怎样切换清晰度(韩剧tv怎么换成国语呢)

  • 苹果11支持反向无线充电吗(苹果11支持反向充电功能吗)

    苹果11支持反向无线充电吗(苹果11支持反向充电功能吗)

  • 淘宝店关了怎么找售后(淘宝店关了怎么重新开会有流量扶持吗)

    淘宝店关了怎么找售后(淘宝店关了怎么重新开会有流量扶持吗)

  • vivo手机远程管理在哪(vivo手机远程管理开关在哪里)

    vivo手机远程管理在哪(vivo手机远程管理开关在哪里)

  • ps4支持外接硬盘吗(ps4外接硬盘推荐)

    ps4支持外接硬盘吗(ps4外接硬盘推荐)

  • 你撤回了一条消息怎么删除(你撤回了一条消息)

    你撤回了一条消息怎么删除(你撤回了一条消息)

  • 别人可以查到我的微信聊天记录吗(别人可以查到我的征信吗)

    别人可以查到我的微信聊天记录吗(别人可以查到我的征信吗)

  • PS如何拉伸照片背景(ps怎么拉伸图片尺寸)

    PS如何拉伸照片背景(ps怎么拉伸图片尺寸)

  • vue视频文字怎么调整时间(vue怎么加字幕视频教程)

    vue视频文字怎么调整时间(vue怎么加字幕视频教程)

  • 魅族是华为旗下的吗(魅族和华为是什么关系)

    魅族是华为旗下的吗(魅族和华为是什么关系)

  • Win10隐藏技能 神一样的无线投屏(win10隐藏功能大全)

    Win10隐藏技能 神一样的无线投屏(win10隐藏功能大全)

  • win11怎么查看wifi密码? windows11查看wifi网络密码的技巧(win11怎么查看win的产品密钥)

    win11怎么查看wifi密码? windows11查看wifi网络密码的技巧(win11怎么查看win的产品密钥)

  • 微信小程序实现发送短信的功能(发送短信)(微信小程序实现发红包)

    微信小程序实现发送短信的功能(发送短信)(微信小程序实现发红包)

  • 工会经费按什么比例交
  • 电动三轮车发票和合格证丢了怎么上牌照
  • 电子税务局怎么添加财务负责人
  • 直接抵免和间接抵免的区别
  • 工程收入开票
  • 销售额包括哪些收入
  • 应交增值税为什么是销项减进项
  • 预付卡充值可以退吗
  • 公司向个人借入资金的风险
  • 购买办公楼支付相关手续费
  • 普通年金的定义
  • 进项税发票不认证可以吗
  • 预缴企业所得税税率
  • 出口退税审核系统疑点
  • 一般纳税人出租不动产增值税税率
  • 从财务报表中可以了解企业的哪些信息?作用是什么?
  • 小微企业减免所得税
  • 自营方式建造固定资产成本包括增值税吗
  • 发票开错重开怎么做账?
  • 广告公司确认收入怎么写
  • 人力资源服务差额
  • 企业发生的哪些业务可以使用简易计税法
  • windows11安装错误
  • win7系统内存不足怎么解决
  • 开票的附加税是多少
  • 银行保证金账务处理流程
  • mac键盘图标与对号不一致
  • 无法启用网络发展
  • 怎么修改wifi密码视频教程
  • win11怎么双击直接打开程序
  • Kamikōchi, Nagano Prefecture, Japan (© sadao/Shutterstock)
  • 会计虚假做账
  • 融资租赁的两种基本形式
  • 怎么做委托银行业务
  • yii2入门
  • 本期发出存货成本是什么意思
  • php获取本机ip地址
  • 用php制作日历2020日历表
  • php测验
  • php cat
  • 增值税发票填写注意事项
  • 发票没有的位数怎么写
  • mysqlbinlog -vv
  • mysqli删除
  • 差额纳税的劳务派遣安保服务征收率
  • mysql 随机取出一条
  • 为什么应付账款不被视为债务融资
  • 税务ukey版怎么读入发票
  • 营改增后的增值税税目税率表
  • 固定资产计提折旧的原则
  • 存货的实际成本法
  • 培训费用支出
  • 登记生产成本和制造费用的明细账
  • 商业企业会计分录大全
  • win8创建新用户
  • windows storage server 2016下载
  • freebsd ifconfig
  • linux ln命令 -s
  • PHP time_nanosleep() 函数使用介绍
  • rhel-server
  • win8怎么禁止弹窗
  • 电脑windows8怎么样
  • linuxu
  • 安卓骰子游戏
  • 一键备份系统和一键还原系统
  • href中的?
  • nodejs使用场景
  • python中的\r
  • 基于unity的游戏开发
  • 如何用javascript
  • python简易
  • 南京市国家税务局
  • 国家税务12366电子税务局重庆
  • 12366纳税服务热线坐席人员
  • 江苏网上税务局官网登录
  • 提租补贴什么标准发放
  • 山东地税app
  • 税务实名认证如何操作
  • 计提印花税入什么科目核算
  • 2022年太原医保缴费时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设