
javascript
文章平均质量分 61
neoveee
这个作者很懒,什么都没留下…
展开
-
使用Form表单提交数据
详细阅读:MDN 发送表单数据原创 2022-02-11 10:13:45 · 362 阅读 · 0 评论 -
ES6 Module
ES6 模块机制: https://juejin.im/entry/5a879e28f265da4e82635152原创 2020-05-01 21:30:18 · 192 阅读 · 0 评论 -
响应式编程--转
一篇不错的介绍响应式编程的文章,记录一下:https://zhuanlan.zhihu.com/p/27678951转载 2020-02-16 15:59:53 · 177 阅读 · 0 评论 -
script的异步加载
异步加载what two conceptjs引擎:渲染引擎:why性能优化 渲染时间下面是一个再简单不过的页面: index.jsalert(1232) index.html<!DOCTYPE html><html lang="en"><head> <meta ...原创 2018-06-10 10:36:34 · 4338 阅读 · 0 评论 -
使用fetch post json数据的问题
场景在项目中使用fetch框架,向一个服务器发送JSON数据,请求方式为postlet myHeaders = new Headers();myHeaders.append('Content-Type', 'application/json');let request = new Request('./api', { method: 'POST', m...原创 2017-02-11 17:12:59 · 27511 阅读 · 3 评论 -
欢迎使用优快云-markdown编辑器
firefox 下的iframe问题今天在开发中,发现一个问题: 在页面中嵌入一个iframe,在谷歌下显示是正常的,但是在火狐下不能显示。经过查找和测试,发现了原因是:火狐下iframe不显示的问题,应该是浏览器的设计机制,防止出现无限递归显示,就是说在iframe的URL与父级的URL相同时,不加载这个iframe,而且在URL检测的时候,忽略掉了锚部分,即#以后的部分,但是虚拟目录在比较范围原创 2017-09-27 09:23:29 · 237 阅读 · 0 评论 -
单元测试
项目中准备引入自动化测试,记录下分享的内容Monkey Patch猴子补丁,在运行时对方法或者属性进行替换.虽然会解决一些问题,但是一定程度上会导致代码的混乱,所以应该慎用单元测试 Unit TestclassificationTDD:Test Driven Development测试驱动开发 先测试 后开发写代码。开发的过程是个尝试,探索的过程End To End :端对端测试 In原创 2017-07-26 10:19:31 · 682 阅读 · 0 评论 -
JS 继承
JS继承设计的缘由 看了阮一峰老师文章,总结了如下的几点:JS是基于面向对象的语言,需要一种机制,实现对象之间的关联借鉴面向类的语言中constructor 构造函数的思想,和new 关键字解决数据共享的问题,引入prototype 原文地址继承的实现方式继承FAQ__proto__ 与 prototype __proto__(隐式原型)与prototype(显式原型)首先,让我们明原创 2017-04-16 16:18:46 · 1854 阅读 · 0 评论 -
常用工具方法整理
本文主要整理收录在项目开发中,遇到的工具方法生成唯一的IDexport function genUid(){ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3原创 2017-03-01 15:20:24 · 533 阅读 · 0 评论 -
JS创建对象
在面向类的语言中,对象是类的实例,JS是面向对象的语言,对象是基于另一个对象继承而来。下面总结下在js中创建的对象的几种方式Object 构造函数var a = new Object()Object.createvar a = Object.create(Object.prototype);关于该方法的详细信息,可以查看对象字面量var a = {}使用这种方式创建对象,和Object.create原创 2017-04-16 11:32:48 · 390 阅读 · 0 评论 -
ES6 getter and setter
Property descriptors present in objects come in two main flavors: data descriptors and accessor descriptors. A data descriptor is a property that has a value, which may or may not be writable. An acces原创 2017-03-16 16:08:39 · 589 阅读 · 0 评论 -
关于深拷贝
今天的code rewiew , 看到了如下的代码来实现深拷贝的效果。var a = {name:'demo'};var c = JSON.parse(JSON.stringify(a))其实这样的实现,看似是解决了问题:防止数据的意外篡改。但是,其实有很多的隐患。性能首先是前端性能问题,这样做,对浏览器的性能消耗其实是很大的。尤其是在页面频繁render的时候,方法被重复调...原创 2018-05-17 18:38:22 · 267 阅读 · 0 评论 -
React this绑定的几点思考
我们在react项目开发时,通常会遇到this 绑定的问题。解决的方法总结下分为下面的三种情况:import React from 'react'export default class Demo extends React.Component{ constructor(props){ super(props); this.click1.bind(...原创 2018-06-10 10:27:19 · 1765 阅读 · 0 评论 -
React高阶组件在业务场景下的应用
背景在参与beisenCloud和pageBuilder的对接任务中,出现了这样一个问题:有两个组件同时关联了同一个属性组件,并且在constructor和componentDidMount内等做了一些初始化操作,当在这两个组件之间切换的时候,由于属性组件已经被首次render了,所以只进行了diff算法,并没有重新生成一个新的组件实例,从而导致了属性组件没有同步更新方案当然,我们...原创 2018-06-10 10:34:04 · 2069 阅读 · 0 评论 -
fetch在移动端的兼容性问题
前段时间在做移动端H5应用开发过程中,遇到一个奇怪的问题:同样的页面,在IOS比较新的版本上可以正常加载,但是在IOS 10.2.1 上却一直 loading,加载不出来。借助调试工具发现,是在发送 HTTP 请求的过程中报错了,Unhanled promise rejection ,具体的错误截图当时忘记保存了。刚开始怀疑是IOS 版本的问题,但是同样版本上,其他的H5页面可以正常加载。然后...原创 2018-12-27 09:38:05 · 3657 阅读 · 0 评论 -
跨域iframe通信
前段时间,在重构业务相关SDK对接方案中,涉及到跨域Iframe通信的场景,最终采取的方案是window.postMessage , 这里总结一下该方案的应用场景及其注意事项。该API旨在安全的实现跨源通信。通常情况下,两个页面之间的脚本,只有在 协议 主机名 和 端口号 完全相同的情况下,才能互相通信。但是 postMessage 方法却可以实现 跨源调用,这也是该API设计的核心所在。另外...原创 2019-01-06 12:07:17 · 521 阅读 · 0 评论 -
关于请求的问题汇总
请求问题汇总原创 2019-02-18 14:28:08 · 346 阅读 · 0 评论 -
React的演变--逻辑复用
React 逻辑复用方案的演变原创 2019-02-18 14:30:07 · 771 阅读 · 0 评论 -
React函数式组件,异步操作导致更新旧的数据状态的问题
在使用React Hooks开发组件的过程中,遇到了这样的一个问题,看一下示例代码:import React, { useState } from 'react'export default ()=>{ const [num, setNum] = useState(0); const handleClick = ()=>{ setNum(num+1); se...原创 2019-07-14 12:38:04 · 11793 阅读 · 2 评论 -
关于受控组件的思考
a原创 2019-07-14 12:46:09 · 1064 阅读 · 0 评论 -
PageMaker项目历程
Page Builder是我在公司参与时间最长的一个项目了,自打实习期做了webIM,转正之后不久,就开始参与了PageBuilder项目的开发,前前后后大概经历了两年的时间,后来由于公司业务调整,已经在今年初逐步将项目交接了出去。虽然现在不再参与项目的维护,但是从这么长时间的开发过程中,还是学到了很多东西,也让我成长了很多。其实最关键的,并不是具体解决了什么问题,而是解决问题的思路与方法。Pa...原创 2019-07-21 12:32:29 · 449 阅读 · 1 评论 -
ES6 Proxy
后续补充 http://www.oschina.net/translate/use-cases-for-es6-proxies原创 2017-03-16 14:27:26 · 610 阅读 · 0 评论 -
async和defer的异步加载
what two conceptjs引擎:渲染引擎:why性能优化 渲染时间下面是一个再简单不过的页面: index.jsalert(1232) index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="wi原创 2017-04-09 15:59:41 · 739 阅读 · 1 评论 -
异步与同步 Synchronous && Asynchronous
在说异步和同步之前,先考虑到以下大家熟悉的场景:10个人去银行办理业务,银行只有一个窗口,大家有秩序的叫号排队,其中2个人:A B 需要填写很多表单,所以耗时很长。为了处理这10个人的业务,产生两种如下的两种方案:方案1:大家的业务必须严格按照叫号的顺序排队执行,前一个人的业务全部办理完成后,后一个才能办理。方案2:刚开始大家也是按照叫号的顺序来办理业务,当排到A的原创 2017-01-11 17:12:47 · 1653 阅读 · 0 评论 -
跨iframe通信方案
当在一个页面中,有通过iframe嵌入的新的window时,如果想实现两个window之间的通信,会可能涉及到跨域的问题,直接访问肯定是被禁止的。使用postMessage就可以安全的绕过这些限制,实现通信。本文通过一个简单的demo,演示下postMessage如何使用,以及其中要注意的几个问题。参数parameters message需要发出的信息,类型为string 对象或者其他 t原创 2017-01-19 22:16:02 · 1082 阅读 · 0 评论 -
git 操作整理
本文记录常用的git操作git clonegit add -Agit commit git tag v1.0.0git push origin --taggit checkout -b dev //新建dev分支git原创 2017-02-08 16:40:34 · 313 阅读 · 0 评论 -
js小记
兼容mac的command和window的ctrl的事件绑定document.addEventListener("keydown", function(e) { if (e.keyCode == 83 && (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey)) { e.preventDefault(原创 2016-12-27 16:29:49 · 369 阅读 · 0 评论 -
数组和对象的遍历方法小结
数组遍历普通for循环 for(var i=0;i原创 2017-01-03 10:07:28 · 700 阅读 · 0 评论 -
关于对象的比较方法
看到一个库中关于对象的比较方法,特记录在此/* primitives: value1 === value2 functions: value1.toString == value2.toString arrays: if length, sequence and values of properties are identical objects: if length, names and原创 2017-01-04 14:02:36 · 331 阅读 · 0 评论 -
一个布局算法问题解析
已知条件:在宽度已知且有限,高度无限的区域内,有n个方格,已知这些方格的x ,y 坐标以及宽度w和高度h,方格不重叠需求:在空间内找个一个位置,可以放的下一个固定宽高(如4 x 4)的方格,原则:离原点最近且Y轴最上关键点:位置信息转化为二维数组目标点:每个已知方格的左下角点 A,右下角点 B,和右上角点 C目标点位置调整:A点依照高度向左平移,B C点按照宽度向上平移原创 2016-12-14 10:01:41 · 1227 阅读 · 0 评论 -
draft.js编辑器开发笔记
需求:光标在输入框内的时候,点击上方的格式按钮,不能让输入框失去焦点解决方案:将格式按钮事件绑定在onmousedown事件上,并阻止默认事件。不要用click事件原创 2016-12-01 19:12:12 · 3575 阅读 · 4 评论 -
post跨域请求问题
场景昨天在项目开发中,遇到一个奇怪的问题:使用fetch发送一个请求,并指定请求的方式method 为 POST代码如下:var request = new Request(APIList.savePage, { method: 'POST', mode: 'cors', headers: new Headers({原创 2017-02-10 08:38:44 · 2817 阅读 · 0 评论 -
import绝对路径问题
后期补充referencehttp://moduscreate.com/es6-es2015-import-no-relative-path-webpack/翻译 2017-02-10 12:56:38 · 15887 阅读 · 0 评论 -
关于对象/数组的深拷贝
在本次迭代开发中,由于引用对象的原因,导致一个bug,虽然很快得到了解决,但这个问题还是比较经典的。所以就整理下关于深拷贝的问题:对象Object.assignvar a={name:'name'}var b=Object.assign({},a)var c={...a}var d=JSON.parse(JSON.stringify(a))console.log(a===b)//false原创 2017-03-31 22:11:09 · 2336 阅读 · 2 评论 -
关于字体图标
1、为什么要将SVG图标改为使用icon-font呢?字体图标可以很容易的任意进行缩放可以简单的进行图标颜色的修改,svg图标不同色需要不同的文件,增加文件成本可以简单的给图标添加阴影,svg图标需要对图标进行重新设计,出现一个新的图标文件可以使得图标拥有透明的效果现在的浏览器大部分都支持可以通过css来很看好的实现各种效果可以为图标提供多种形态:hover、blur等效果文件体积更转载 2017-04-08 10:12:28 · 635 阅读 · 0 评论 -
JavaScript高级程序设计
3.7 arguments关于函数参数:function(num){}//num 即为命名参数函数的命名参数只提供便利,非必须。任何参数都可以通过arguments对象来获取arguments对象只是与数组类似,但并不是数组的实例arguments的值始终与对应命名参数的值保持一致,但是他们的内存空间是独立的函数重载: 为一个函数编写两个定义,只要函数签名不同即可,即函数重载。在ECM原创 2017-03-28 22:18:56 · 474 阅读 · 0 评论 -
react state or redux store?
Use React for ephemeral state that doesn’t matter to the app globally and doesn’t mutate in complex ways. For example, a toggle in some UI element, a form input state. Use Redux for state that matters原创 2017-03-28 12:45:56 · 507 阅读 · 0 评论 -
装饰器模式
装饰器原创 2017-02-14 15:46:03 · 357 阅读 · 0 评论 -
React将组件渲染到指定DOM节点
React优点之一就是他的API特别简单。通过render 方法返回一个组件的基本结构,如同一个简单的函数,就可以得到一个可以复用的react组件。但是有时候还是会有些限制的,尤其是他的API中,不能控制组件所应该渲染到的DOM节点,这就让一些弹层组件很难控制。当父元素设置为overflow:hidden 的时候,问题就会出现了。例如就像下面的这样: 我们实际期待的效果是这样的: 幸运的是,虽然翻译 2017-02-26 09:38:52 · 20648 阅读 · 1 评论 -
优化你的react todos
闲来无事,将todos重写了下,主要有以下几个改进的地方:改造bindActionCreators 方法,使其支持定义组件树状结构的action创建函数,目的是方便分发和后期逻辑扩展;引入createReducer 方法,将switch case 结构的action分发改为属性索引,避免一个函数过长。并根据state 结构来定义rootHandler ,将子hanlder放在对应的state 节原创 2017-03-05 19:24:02 · 847 阅读 · 0 评论