- 博客(15)
- 收藏
- 关注
原创 【面试】网易一面
盒子模型box-sizing: content-box(标准盒模型)border-box(怪异盒模型)遍历对象的方法for…in…var obj={name:'tom',age:18,score:90}for(let key in obj){ console.log(obj[key])}注意:1) 无法保证顺序2)也会遍历继承的可枚举的属性3)如果只需要获取对象的实例属性,可以使用 hasOwnProperty 进行过滤。4)不包括 Symbol 值作为名称的属性var o
2022-04-05 23:54:58
1293
原创 【面试】蚂蚁一面
new之后发生了什么怎么用构造函数实现classObject.definePrototypeoverride和overload的区别对象删除属性报错的情况箭头函数和普通函数的区别箭头函数调用call、apply、bind之后会发生什么深克隆的几种情况作用域是什么,及其会带来的问题promise和async/awaitpromise中间有reject返回什么asycn底层原理redux设计模式...
2022-03-31 15:27:33
1026
原创 【面试】小红书二面
自我介绍学前端的历程,学了哪些内容三件套和react之间的关系vue和react的区别(小红书的技术栈,vue、 react native)react单向数据流(回答错误)react组件间通信如何使用redux,基本概念,redux的几部分之间的相互功能提到render是纯函数,纯函数的定义(好像回答有误)redux实现定时器(自己挖坑说用定时器,然后用react写)浏览器中输入url到页面渲染完成的过程(提到渲染之后就没再说了,面试官又让具体讲讲渲染)渲染过程中的重排和重绘csrf和
2022-03-31 15:03:37
782
原创 【面试】小红书一面
今天第一次参加春招面试,小红书的一面。面试主要围绕简历,从基础到框架,涉及到的范围还是很广的。下面针对这次面试做出总结。给出代码的结果并分析原型链及this相关function a(){ this.b=7}a.prototype.b=3var b=3a()var c=new a()console.log(b) //7console.log(c.b) //7注意:a()是指把a当做普通函数执行了,此时this.b指向window,若是将var b=3放到a()后面,则co
2022-03-31 15:03:13
623
原创 【Javascript】纯函数
纯函数是一类特别的函数: 只要是同样的输入(实参),必定得到同样的输出(返回)纯函数的特点:它没有改变原来参数的值它没有修改外部的变量和数据每次调用时传递相同的值,返回的结果永远一样必须遵守以下一些约束不得改写参数数据不能调用Date.now()或者Math.random()等不纯的方法不适用于网络请求等操作例如:这是一个纯函数,每次输入相同的参数,都返回一个相同的新数组,不会改变外部变量的值let array = [1, 2, 3];function demo(arra
2022-03-29 13:57:08
1026
原创 重排与重绘
重排当DOM的变化影响了元素的几何信息(元素的的位置和尺寸大小),使得部分渲染树(或者整个渲染树)需要重新分析并且节点尺寸需要重新计算,表现为重新生成布局,重新排列元素,并将其安放在界面中的正确位置,这个过程叫做重排。下面情况会发生重排:页面初始渲染,这是开销最大的一次重排添加/删除可见的DOM元素改变元素位置改变元素尺寸,比如边距(margin)、填充(padding)、边框(border)、宽度和高度等改变元素内容,比如文字数量,图片大小等改变元素字体大小改变浏览器窗口尺寸,比如re
2022-03-27 10:31:03
3183
原创 【React】浅谈Hooks
Hooks1 React Hook/Hooks是什么?Hook是React 16.8.0版本增加的新特性/新语法可以让你在函数组件中使用 state 以及其他的 React 特性Hooks的特点更容易复用代码代码量更少hooks因为减少了很多模板代码,特别是小组件写起来更加省事,人们更愿意去拆分组件。而组件粒度越细,被复用的可能性越大。2 三个常用的HookState Hook: React.useState()Effect Hook: React.useEffect()Re
2022-03-23 23:25:12
218
原创 【React】vue和react的区别
1. 数据流不同vue可以用v-model实现双向绑定,而react一直提倡单向绑定2. 模板渲染方式不同React是通过JSX渲染模板。可以使用JS的原生语法完成渲染。如条件(if),循环(for)等vue是通过一种拓展的HTML语法进行渲染,在与JS分离的单独的模板中,通过指令来实现的,比如条件语句 v-if ,循环语句v-for,这样的做法显得有些独特,会把HTML弄得很乱。3. 组件间通信方式的区别父组件向子组件通信时,两者都通过props传递数据;子组件向父组件通信时,vue通
2022-03-23 23:12:17
434
原创 【Javascript】length属性
String.length和Array.length在js中,length属性常见于字符串和数组(类数组)中,如"string".length //6[1,2,3,4].length //4Function.length其实length属性还可以用于函数,来判断函数的长度,即函数中形参的个数,如function fun1(a) { }function fun2(a, b) { }function fun3(a, b, c) { }function fun4(a, b, c, d)
2022-03-17 21:24:57
5453
原创 【Javascript】数组、字符串的常用属性和方法
数组JS数组常用APIarr1.concat(arr2) 用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组arr.every(callback(element[, index[, array]])[, thisArg]) 测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。arr.some(callback(element[, index[, array]])[, thisArg]) 测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是
2022-03-17 17:16:09
172
原创 【Javascript】通过实例对象修改原型对象属性的值
结论:当原型对象的属性值为基本数据类型时,无法通过实例对象直接修改原型对象的属性值。当原型对象的属性值为引用数据类型时,可以直接通过实例对象修改原型对象的属性值。基本类型的数据值有7种:字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol、BigIntSymbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。引用类型的数据值往大的说就1种,即Object类型。往细的说有:Object类型、Array类型
2022-03-09 18:40:42
1480
原创 【Javascript】ES5原型链中prototype、__proto__和 [[Prototype]]
以下面这段代码为例,分析ES5原型链中的一些问题var A = function(name) { this.name=name};A.prototype.n = 1;var b = new A("tom");A.prototype = { n: 2, m: 3}//把A的原型对象用一个object覆盖(即function Object()的实例对象)// b.__proto__ = A.prototype//修改b的原型// A.prototype.constructor=A
2022-03-09 16:59:13
1066
原创 解决DevTools failed to load source map: Could not load content for xxx
注意for后面的内容:如果是http://localhost:3000/bootstrap.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE,则删除bootstrap.min.css文件内容最后一行 /*# sourceMappingURL=bootstrap.min.css.map */ 内容即可如果是 chrome-extension xxx,则可能是由chrome浏览器的插件造成的
2022-02-23 19:41:59
7317
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人