随笔分类 -  十、前端面试 / 前端面试集合

摘要:父级 prop 的更新会向下流动到子组件中,但是反过来则不行,防止从子组件意外改变父级组件的状态 每次父级组件发生更新时,子组件中所有的 prop 都将会刷新为最新的值 子组件想修改时,只能通过$emit 派发一个自定义事件,父组件接收到后,由父组件修改 阅读全文
posted @ 2023-06-21 17:12 有只小菜猫 阅读(6) 评论(0) 推荐(0) 编辑
摘要:【能够将开发代码转换为生产代码的工具称为构建工具】 webpack:是前端模块化方案,侧重模块打包。可以使用NPM打包 把开发中所有资源都看成模块,通过配置 loader 和 插件对资源进行处理。实现团队开发项目目录的统一 其他构建工具: Gulp:调前端开发的流程,需要进行很多配置。适合打包一些轻 阅读全文
posted @ 2023-06-21 17:08 有只小菜猫 阅读(36) 评论(0) 推荐(0) 编辑
摘要:它的功能是把对应的字符串解析成 JS 代码并运行; 应该避免使用 eval,不安全,非常耗性能(2次,一次解析成 js 语句,一次执行) eval("x=10;y=20;document.write(x*y)"); document.write("<br>" + eval("2+2")); docu 阅读全文
posted @ 2023-06-21 17:02 有只小菜猫 阅读(36) 评论(0) 推荐(0) 编辑
摘要:1、Map是键值对,Set是值得集合,当然键和值可以是任何得值 2、Map可以通过get方法获取值,而Set不能因为它只有值 3、都能通过迭代器进行for...of 遍历 4、Set的值是唯一的可以做数组去重,而Map由于没有格式限制,可以做数据存储 阅读全文
posted @ 2023-06-21 16:39 有只小菜猫 阅读(158) 评论(0) 推荐(0) 编辑
摘要:1、forEach 更多的用来遍历数组 2、for in 一般常用来遍历对象或json【循环出的是key】 3、for of 数组对象都可以遍历,遍历对象需要通过和Object.keys()【循环出的是value】 阅读全文
posted @ 2023-06-21 16:38 有只小菜猫 阅读(218) 评论(0) 推荐(0) 编辑
摘要:数组提供的API可以 sort() 属于算法的题 常见的排序算法:冒泡排序、快速排序、二分法... //冒泡排序 var arr = [23, 9, 78, 6, 45] for (var i = 0; i < arr.length - 1; i++) { // console.log(i) // 阅读全文
posted @ 2023-06-21 16:36 有只小菜猫 阅读(32) 评论(0) 推荐(0) 编辑
摘要:var a = [1, 2, 3, 1, 2, 3, 1, 1, 4, 4, 5, 4, 5, 2] // function unique(arr) { // var newArr = [] // arr.forEach((item) => { // // 新数组中是否含有该元素 // if (ne 阅读全文
posted @ 2023-06-21 16:36 有只小菜猫 阅读(12) 评论(0) 推荐(0) 编辑
摘要:JS中常用的类数组:arguments、dom操作中获取到一组节点元素 类数组也是数组的一种,将元素放入到了数组中,也是通过下标访问元素,也有length属性,但是类数 组中没有数组的API var aList = document.getElementsByTagName('li') // 转为数 阅读全文
posted @ 2023-06-21 16:35 有只小菜猫 阅读(14) 评论(0) 推荐(0) 编辑
摘要:1、普通函数中 指向window对象,严格模式下为undefined 2、对象中 指向调用函数的对象 3、构造函数和类中 配合new使用,new关键字将构造函数中的this指向实例对象 4、绑定事件函数 指向调用函数的对象 5、定时器中 指向window对象,因为定时器中采用回调函数作为处理函数,回 阅读全文
posted @ 2023-06-21 16:19 有只小菜猫 阅读(86) 评论(0) 推荐(0) 编辑
摘要:1、箭头函数更加简洁。 2、箭头函数没有自己的this,只会在自己作用域的上一层继承this 3、箭头函数继承来的this 指向永远不会变,使用call() | apply() | bind() 等方法不能改变 4、箭头函数不能作为构造函数使用,没有自己的arguments | prototype 阅读全文
posted @ 2023-06-21 16:16 有只小菜猫 阅读(4) 评论(0) 推荐(0) 编辑
摘要:varletconst 变量提升 √ × × 重复声明(同作用域) √ × × 赋初值 × × √ 变量 全局 局部 局部 var 声明的变量有变量提升的特性,而 let、const 没有 var 声明的变量会挂载到 windows 对象上,所以使用 var 声明的是全局变量,而 let 和 con 阅读全文
posted @ 2023-06-21 16:15 有只小菜猫 阅读(14) 评论(0) 推荐(0) 编辑
摘要:(1)ES5 // 构造函数 function Person(name) { this.name = name } // 原型 Person.prototype.say = function () { console.log('我是' + this.name) } // 子类构造函数继承父类构造函数 阅读全文
posted @ 2023-06-21 16:12 有只小菜猫 阅读(31) 评论(0) 推荐(0) 编辑
摘要:现在浏览器的缓存中查找是否存在 DNS解析,找到服务器 浏览器和WEB服务器建立连接:三次连接 建立连接后,客户端向服务端发送请求 服务器端收到请求,处理请求,将响应信息发送给客户端 客户端和服务器端断开连接:四次挥手 客户端解析响应的消息,最后渲染成一张网页 阅读全文
posted @ 2023-06-21 16:10 有只小菜猫 阅读(13) 评论(0) 推荐(0) 编辑
摘要:一、意外的全局变量 由于使用了未声明的变量,以外的创建了一个全局变量,此变量一直留在内存中无法被回收 二、被遗忘的计时器或者回调函数 设置了setInterval定时器,忘记取消。若循环函数又对外部变量的引用,此变量会一直留在内存,无法回收 三、脱离DOM的引用 获取了一个DOM元素的引用,而后面这 阅读全文
posted @ 2023-06-21 16:05 有只小菜猫 阅读(33) 评论(0) 推荐(0) 编辑
摘要:1)函数对象——就是平时称的对象; 2)实例对象——new出的对象或者{ }; 3)原型对象——所有的函数对象都有一定有一个对应的原型对象,所有的原型对象都是被Object函数对象创建出来的 所有的函数对象中都有一个名字叫prototype的引用类型变量,该引用类型变量是函数对象的成员,它的值是对应 阅读全文
posted @ 2023-06-21 15:19 有只小菜猫 阅读(54) 评论(0) 推荐(0) 编辑
摘要:一、概念 new 能创建一个实例对象; 这个对象是给定的构造函数 function Person(name, age){ this.name = name; this.age = age; console.log(this) // Person { name: 'Tom', age: 20 } } 阅读全文
posted @ 2023-06-21 14:54 有只小菜猫 阅读(46) 评论(0) 推荐(0) 编辑
摘要:(1)浅拷贝【新旧对象共享同一块内存】 let a = { age: 1 } let b = a a.age = 2 console.log(b.age) // 2 》如果给一个变量赋值一个对象,那么两者的值会是同 一个引用,其中一方改变,另一方也会相应改变 创建新对象 基本类型:拷贝基本类型的值 阅读全文
posted @ 2023-06-20 15:12 有只小菜猫 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-06-20 14:31 有只小菜猫 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-06-20 14:28 有只小菜猫 阅读(127) 评论(0) 推荐(0) 编辑
摘要:一、圣杯布局 圣杯布局需要将中间栏放在前面优先渲染 圣杯布局利用浮动、负边距、相对定位来实现 父元素 container 设置左右 padding 空出左右两栏位置。 三栏均设置向左浮动,中间栏设置 width: 100%; ,即与父元素宽度一样,将左右两栏挤到下面。 设置 margin 属性为负值 阅读全文
posted @ 2023-06-20 14:27 有只小菜猫 阅读(1179) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示