- 博客(11)
- 收藏
- 关注
原创 react 拖拽实现一个穿梭框效果
借鉴了网上大佬的一些文章,记录实现一个react的穿梭框的效果实现拖拽效果的实现我们需要用到关于拖拽的事件,而在html5中刚好就有原生的拖拽api。拖拽元素事件dragstart 当一个元素开始被拖拽的时候触发drag 这个事件在拖拽源触发dragend 拖拽源在拖拽操作结束将得到dragend事件对象,不管操作成功与否目标元素触发事件dragenter 当拖拽中的鼠标第一次进入一个元素时触发dragover 当拖拽中的鼠标移动经过一个元素时触发dragleave 当拖拽中的鼠标
2022-06-30 19:36:24
1348
原创 JS替代eval的方法
eval() 是全局对象的一个函数属性。eval() 的参数是一个字符串。如果字符串表示的是表达式,eval() 会对表达式进行求值。如果参数表示一个或多个 JavaScript 语句,那么eval() 就会执行这些语句。不需要用 eval() 来执行一个算术表达式:因为 JavaScript 可以自动为算术表达式求值。如果你以字符串的形式构造了算术表达式,那么可以在后面用 eval()对它求值。例如,假设你有一个变量 x,您可以通过将表达式的字符串值(例如 3 * x + 2)赋值给一个变量,然后在你
2021-12-11 11:10:38
5548
转载 百度地图点聚合提高加载效率
百度的点聚合算法 是基于方格和距离的聚合算法,即开始的时候地图上没有任何已知的聚合点,然后遍历所有的点,去计算点的外包正方形(由gridSize指定),若此点的外包正方形与现有的聚合点的外包正方形不相交,则新建聚合点,若相交就把该点加到该聚合点,效果如下图,为了便于查看,我们特地把外包正方形画了出来。好的,笔者开始了作死之旅。上面笔者只是生成了50个随机点。接下来要测试下1000个点,嗯有点小卡,但是还能操作,2000个点,我的天,这shit一样的卡顿是什么鬼!!5000个点,好的,完美,动也动不
2021-10-26 19:52:17
1064
原创 关于react、vue的一些问题
DVA整合reducer,initialState、action、sagaapp.model({ namespace: 'products', state: { list: [], loading: false, }, 在dom ready之后运行 subscriptions: [ function(dispatch) { dispatch({type: 'products/query'}); }, ], effects: {
2021-08-15 20:00:21
863
原创 关于js的一些重构,reduce、new、apply、instanceof等
重构new //重写newfunction _new(FC, ...args) { if (typeof FC !== 'function') throw new TypeError('参数1必须是函数') if (!FC.prototype) throw new TypeError('参数1不能是箭头函数') //根据FC原型来得到当前的对象 let obj = Object.create(FC.prototype) //执行函数,解决this的指向
2021-08-15 14:28:21
216
原创 关于react、vue的相关问题
DVA整合reducer,initialState、action、sagaapp.model({ namespace: 'products', state: { list: [], loading: false, }, 在dom ready之后运行 subscriptions: [ function(dispatch) { dispatch({type: 'products/query'}); }, ], effects: {
2021-08-12 11:26:54
410
原创 关于浏览器的相关问题
文章目录浏览器缓存优点缺点强缓存强缓存存在三种情况强缓存的缓存规则协商缓存**Last-Modified / If-Modified-Since****Etag / If-None-Match**总结跨域的解决方法jsonp 在html中通过相应的标签去请求资源(script、img等)但是只能实现get请求iframe标签跨域postMessage跨域 h5中新增的APICORS跨域 在服务器设置 Access-Control-Allow-Origin 设置为*时表示该资源谁都可以使用服务器反
2021-08-09 23:07:44
206
原创 webpack的部分问题
常用的loader和plugin和devtoolloaderbabel-loader 转译js代码 可以使用include和exclude帮助我们避免不必要的转译,开启缓存转译可以提升工作效率use:{ exclude:/(node_module|bower_components)/, loader:'babel-loader?cacheDirectory=true' }css-loader 转译css文件 对@import和require处理style-loa
2021-08-05 22:55:49
237
原创 关于原生js的部分问题和面试题
js中的作用域和作用域链在javascript中有两种作用域类型局部作用域:只能在函数内部访问他们全局作用域:网页的所有脚本和函数都能够访问它。javascrip拥有函数作用域:每个函数都能创建一个新的作用域。作用域链当查找变量的时候,会从当前上下文的变量对象中查找,如果没有找到,就会从父级执行上下文的变量对象中查找,一直找到全局上下文的变量对象,也就是去全局对象。这样由多个执行上下文的变量对象构成的链表叫做作用域链关于闭包函数和函数内部能够访问到的变量的总和就是一个闭包。凡是访问函数
2021-08-05 22:54:36
475
原创 微信小程序遇到的问题和坑
微信小程序开发过程中经历的几个坑和问题关于debugging connection was closed代码出现死循环引如computed后报错 :Behaviors should be constructed with Behavior()改用次此写法const computedBehavior = require(‘miniprogram-computed’).behavior;在父组件中调用子组件中的方法在自组价实例中添加id 在js文件中拿到这个实例然后在钩子或者
2021-07-17 19:37:00
1232
原创 前端菜鸟的掉发过程(一)——HTML
HTML标签标题标签只有h1 到h6<h1>我是标题1</h1> <h2>我是标题2</h2> <h3>我是标题3</h3><h4>我是标题4</h4><h5>我是标题5</h5> <h6>我是标题6</h6>段落p特点:多个段落竖着排列,段落与段落垂直方向有缝隙段落默认换行是根据浏览器宽度切换指定换行位置可以添加br进行换行
2021-07-16 10:40:22
112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人