- 博客(8)
- 收藏
- 关注
原创 常见前端面试题1
1.node导出模块有哪两种方式,说说它们的区别1、module.exports我们可以直接通过为 module.exports 赋值的方式来导出模块module.exports 可以导出单个成员exports 的功能 module.exports 都能实现2、exportsexports 变量是 node 提供的一个对 module.exports 的引用。exports 用添加属性的方式来导出,且只能导出一个对象。如果直接将 exports 变量指向一个值,不会影响 module.
2020-08-25 09:26:54 219
原创 React的Portal是干什么的
React的Portals是干什么的开门见山举个例子代码实现页面效果总结开门见山React的Portal是作甚的?很简单,当你想把父组件的某个子组件渲染到页面中其它盒子(非父组件子树)里的时候,就用 portal举个例子现在有两个组件,Dog和Cat,我们想让Dog的子组件Puppy放到Cat里,当欺负Puppy的时候,即使相隔千里Dog也能感受到。怎么做?用portal!代码实现先获取页面中Dog窝和Cat窝const dogRoot = document.getElementById("
2020-07-26 15:55:40 3140
原创 自定义call、apply、bind函数
ES6新增的call、apply、bind方法,用于改变方法的this指向,我们来实现一下它们的基本逻辑:自定义 call 函数Function.prototype.myCall = function (context) { var context = Object(context) || window; // 传递this指向 context.fn = this; // 传递参数 var args = [...arguments].slice(1); var result =
2020-07-02 15:31:32 151
原创 解决子元素click对父元素mousedown的影响
如题,在最子元素绑定click事件,父元素绑定mousedown事件。由于事件冒泡的影响,当子元素触发click的时候,其父元素的mousedown也会被触发。var big_ele = document.querySelector(".big-box");var small_ele = document.querySelector(".small-box");big_ele.onmous...
2020-03-30 21:18:28 1939 3
原创 浅谈js的this指向问题
JavaScript里函数的this指向,是一个挺难弄清楚的问题。网上大佬们的总结是:哪个对象调用函数,函数里面的this就默认指向哪个对象。(注意this指向的只能是对象)我个人把这句话理解成:看它函数名后加小括号时它的前缀是什么。为什么说“默认指向”?因为JavaScript给我们提供了几种可以改变函数this指向的方法bind、call和apply。接下来我们分别举几种常见情况来帮助...
2020-03-22 23:29:31 97
原创 ES6中的let和const
let和const是ES6新增的几种变量声明方式中的两种,本篇就来谈谈这两种声明方式有什么特点。一、let、const和var的区别let和const的使用方式和var没有区别。但是用let和const声明出的变量,使用规则有所不同,let和const多了一些对变量的限制:1、let和const在同一作用域下不允许重复声明变量。var声明的变量重复声明有效。var a = 0;cons...
2020-03-15 21:34:39 89
原创 浅谈快速排序
快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分其中一部分的所有数据都比另外一部分的所有数据都要小再按此方法对这两部分数据分别进行快速排序整个排序过程可以递归进行,以此达到整个数据变成有序序列。中心思想:找中点,分左右。废话少说,下面我们用例子来看看具体过程:第一步:先在无序数组中找到下标中值,图中的下标中值为mid表示。第二步:根据mid位的数据大小,分左...
2020-03-08 13:53:58 92
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人