tyounami
tyounami
我也是同样的问题
> 项目不是用webpack构建的哦?看目录结构有些不一样 webpack2.3.3呀 配置都在build/里面,一样的哦
说点边缘的,现在普遍的观点是在组件化的东西其实并不推荐用面向对象(Class)来做,就如React也推出了hooks,其实extends/implements这些OO的东西并不适用与前端组件化的编程,就像Vue3,也是用函数表示组件,而非很早之前传言的Class。面向对象更适合后端的业务,而非Web前端的UI编程,前端更适合用函数式的编程方式。(小白的一点愚见,欢迎指教,轻喷~)
形参:定义函数中用到的参数 实参:调用函数传入的参数
* Promise是ES6中对回调的处理方案,用于处理回调过多,形成回调地狱,不直观的问题;Promise可以链式调用,代码直观易操作,并且有`Promise.all`, `Promise.race`等语法糖便于操作
* 把 @wwqin 的内容实践了一下 ```JavaScript ; (function () { const createInput = html => { let inputEl = document.createElement('input'); inputEl.setAttribute('type', 'input'); inputEl.value = html; return inputEl; } var key =...
* ArrayBuffer: 表示通用的、固定长度的原始二进制数据缓冲区。ArrayBuffer 不能直接操作,而是要通过类型数组对象或 DataView 对象来操作 * Array: 是JavaScript数组,可直接修改
* 用事件穿透即可 ```CSS img { pointer-events: none; } ``` * 关于 @Davidyanlong 讲的,经测试(iOS13 Safari): - CSS 禁止选中`user-select:none`,并不能解决长按选中图片的问题 - 长按不会出发`contextmenu`事件,长按并没有暴露出原生的事件
* 概念:AOP(面向切面编程)的主要作用是把一些跟核心业务逻辑模块无关的功能抽离出来,这些跟业务逻辑无关的功能通常包括日志统计、安全控制、异常处理等。把这些功能抽离出来之后, 再通过“动态织入”的方式掺入业务逻辑模块中。 * 好处:AOP的好处首先是可以保持业务逻辑模块的纯净和高内聚性,其次是可以很方便地复用日志统计等功能模块。 * demo ```JavaScript Function.prototype.before = function (beforefn) { var _self = this; //保存原函数引用 return function () { //返回包含了原函数和新函数的"代理函数" beforefn.apply(this, arguments); //执行新函数,修正this return _self.apply(this, arguments); //执行原函数...
* a标签加`download`属性 ```HTML Download file ``` * 文件流的方式 ```JavaScript var a = document.createElement('a'); var url = window.URL.createObjectURL(blob); var filename = 'what-you-want.txt'; a.href = url; a.download = filename; a.click(); window.URL.revokeObjectURL(url); ```...