![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端面试题
个人总结的前端部分面试题
爱吃香菜的程序猿
这个作者很懒,什么都没留下…
展开
-
JavaScript中什么情况下返回undefined值?
var aaa;原创 2023-12-11 17:11:26 · 207 阅读 · 0 评论 -
什么是作用域、作用域链?
简单来说,在一定的空间里可以对数据进行读写操作这个空间就是数据的作用域。JS中最常见的就是变量的作用域。变量的作用域分为两种:全局变量和局部变量。1、全局作用域: 最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的;2、局部作用域: 局部作用域一般只在固定的代码片段内可访问到,而对于函数外部是无法访问的,最常见的例如函数内部。原创 2023-08-23 20:25:46 · 39 阅读 · 0 评论 -
简述优雅降级和渐进增强
优雅降级和渐进增强是随着css3流出来的一个概念。由于低级浏览器不支持css3,但是css3的效果又太优秀不忍放弃,所以在高级浏览器中使用css3而低级浏览器只保证最基本的功能,关键的区别是他们所侧重的内容,以及这种不同造成的工作流程的差异。优雅降级的观点认为应该针对那些最高级、最完善的浏览器来设计网站 向下兼容。渐进增强观点则认为更应该关注内容本身。原创 2023-05-22 16:56:30 · 53 阅读 · 2 评论 -
js的基本数据类型和引用数据类型有哪些?null和undefined的区别又是什么?
null:表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null 值表示一 个空对象指针 ECMA 标准要求 null 和 undefined 等值判断返回 true null == undefined // true null === undefined // false。基本数据类型:Number;undefined;引用数据类型:Function;undefined 表示变量声明带未初始化时的值。原创 2023-05-22 17:07:49 · 34 阅读 · 2 评论 -
为什么Vue中data必须是一个函数?
如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!3.所以当组件中的data写成一个函数时,数据会以函数返回值形式定义,这样每复用一次组件,就会反回一份新的data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。如果单纯的写成对象形式,就使得所有组件实例共用了一份data,就会造成一个改变全都会改变的结果。2.这些组件会共享同一个data属性,如果单纯的写成对象形式,就使得所有组件实例共用了一份data,就会造成一个改变全都会改变的结果。原创 2023-05-24 11:45:55 · 275 阅读 · 0 评论 -
详解改变this指向的三种方法的不同点和应用场景
call,apply是直接调用就可以改变;bind不是直接调用,需要再次调用一下才会执行。apply call不可以改变触发以后事件中的this指向。1) 相同点:都可以改变函数中的this指向。bind可以改变触发事件以后事件中的this指向。bind call 传递的时候什么值都可以。apply传递的必须是一个数组。原创 2023-06-26 16:49:37 · 317 阅读 · 1 评论 -
var let const三者的区别
var声明的变量为全局变量,并且会将该变量添加为全局对象的属性,但是let和const不会。(5)暂时性死区:在使用let、const命令声明变量之前,该变量都是不可用的。使用var声明的变量不存在暂时性死区。(4)重复声明:var声明变量时,可以重复声明变量,后声明的同名变量会覆盖之前声明的变量。(2)变量提升:var存在变量提升,let和const不存在变量提升,即变量只能在声明之后使用,否则会报错。let不存在变量提升 let变量在声明前,该变量不能使用,这就是暂时性死区。原创 2023-12-11 16:49:38 · 77 阅读 · 0 评论