20190913 前端开发日报

实现一个简易版的vuex持久化工具;25个JavaScript代码简写技巧(上篇);基本的 Promise 和 Async 函数的用法;前端中的接口聚合;JS知识点:ES6 中常见的知识点;阿里妈妈前端笔试题;前端这些年我到底经历了什么(下);[Vue响应式原理]从Object.defineProperty到proxy实现观察者机制的探索

  1. 实现一个简易版的vuex持久化工具 背景 最近用uni-app开发小程序项目时,部分需要持久化的内容没法像其他vuex中的state那样调用,所以想着自己实现一下类似vuex-persistedstate插件的功能,貌似代码量也不会很大 初步思路 首先想到的实现方式自然是vue的watcher模式。对需要持久化的内容进行劫持,当内容改变时,执行持久化的方法。 先弄个dep和ob...
  2. 25个JavaScript代码简写技巧(上篇)对于任何JavaScript开发人员来说,这篇文章很值得一读。这里记录了我多年来学习的JavaScript代码简洁写法,也给大家提供一些编码上的思考和取舍。
  3. 基本的 Promise 和 Async 函数的用法 实习已经结束很久了,但是还有很多事情拖着没做,报告也还没有给老板,现在休息了一周开始慢慢做。这里主要总结一下实习过程中遇到的 Node.js 中异步的问题。 阮一峰的博客已经讲的特别清楚了,我这里就记录一下阅读阮一峰博客和自己使用的心得。阮一峰的博客 Promise 对象 Promise 对象有两个特点。首先,它代表一...
  4. 前端中的接口聚合 这是一个前端简易版接口聚合模块,主要用于以下场景: 一个支持参数合并的接口,在组件化或其他场景下调用了不同参数的相同的接口,这时把这些调用合并成一个或多个接口再请求。 避免发起相同的请求,某些情况下发起了相同的请求,经收集处理后,实际只发起一个请求。但是不同的发起端的callback 都能得到处理。 ...
  5. JS知识点:ES6 中常见的知识点 ES6(ESMAScript 6, ESMAScript2015) 是指 ESMA 组织在 2015 年发布的 ESMAScript 2015 标准,由于相比 ES5 (2009年发布), ES6 的改动非常大,故广义上,我们也将 ES6 统称所有 ES5 之后的新特性,包括 ES7 ( ESMAScript2016 ), ES8 ( ESMAScript2017 )... ES10 ( ESMAScript2019 )等,这里专指 ES6 。 ...
  6. 阿里妈妈前端笔试题 今年年初,应公司要求,我作为出题人之一为实习生校招出的一份候选笔试题。因为绝大部分题目都没有选入最终题库 ,且现在校招已经结束(可以泄题了),为了避免我的脑力被白白浪费,现把题目分享出来。虽说是招实习生,但按照要求,题目平均难度 p6 水平 。 单选题 1. 关于一个对象 obj 到底包含有多少...
  7. 前端这些年我到底经历了什么(下)2015 年 7 月,大学刚刚毕业的我进入了一家游戏公司做前端开发,在各种资源匮乏,前端只有自己一人的情况下如何进行突围?
  8. [Vue响应式原理]从Object.defineProperty到proxy实现观察者机制的探索不知不觉,Vue的作者尤雨溪公布了Vue3.0版本的开发计划,发布到现在已经一年了,看来Vue3.0的发布尚需时日,在开发计划中,下图这段话:Vue3.0版本中将基于Proxy来改造观察者模式。说明Vue3.0讲不再借助于ES5的Ob...
  9. JS常用小技巧 let arr = let newArr = // //或者 Array.from(new Set(arr)) 复制代码 2、String强制转换为Number '123' * 1 // 123 'china' * 1 // NaN null * 1 // 0 undefined * 1 // NaN 复制代码 + '666' // 666 + '' ...
  10. Vue项目优化方案 经过对项目结构 / 开发方式 / 技术架构的研究,再次提出部分可以优化的点。 刚加入新公司之后,在学习来新公司的开发技术之后,就迫不及待的想要将自己过往的开发方式和技巧融合到现在的项目中,下面是针对目前项目的中一些技术点的改进思路 此方案主要由如下几点组成: 代码编写规范 Api层抽离 Request工具更...
  11. JavaScript 中的头等函数 JavaScript 具有头等函数(first-class functions)。这意味着函数可以像其他值一样被处理,这对于 JavaScript 开发人员来说是非常重要。头等函数具有以下三点特征: 将函数赋值给变量 函数作为函数参数 函数作为函数返回值 将函数赋值给变量 我们来创建一个返回 "Hello" 文本的函数,并将其赋...
  12. vue-cli3.0 脚手架搭建项目(vant) npm install -g @vue/cli 复制代码 安装成功后查看版本:vue -V(大写的V) 3.创建项目 到你想创建项目的目录下创建项目(WeChat:项目名称) vue create project-name 复制代码 default 是 使用默认配置 Manually select features 是 是自定义配置 4.选择自定义配置 空格键切换选中状态...
  13. 基于Vue.js 与 WordPress Rest API 构建单页应用 前言 Vue.js 是用于构建交互式的 web 界面的库。它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,我们将使用它来请求api。 WordPress REST API为WordPress数据类型提供API端点,允许开发人员通过发送和接收JSON(JavaScript...
  14. 初中级前端为什么要学会pr(github)?现在哪个公司招聘上不写着有github开源经历的 加分, 如果你还不能自己独立完成一个开源项目, 但是还想凑个热闹慢慢学习, 你可以从帮助别人找代码或者文档的bug开始.
  15. vue、angular深度作用选择器 在 Vue 的开发中,我们经常会用到外部组件库,例如 element,当使用 element 组件库中的某一个组件的时,我们可能会希望有一些定制的地方,通常的做法是 用CSS覆盖;有时层级不够就要另辟他径。 less使用/deep/ css使用>>> 复制代码 Angular适用深度选择器 使用组件样式 对你编写的每个 Angular 组件来说...
  16. WebSocket 浏览器端封装记录 前言:之前有个项目需要使用 WebSocket 通信,自己开发的时候使用 Node.js socket.io 实现的,但是后来生产环境中是服务器系统是 windows,用了 C# 处理 WebSocket。于是觉得浏览器端采用自带的 WebSocket 通信, 但是原生的 API 有些少,于是决定再封装一下。为了无(尽)缝(量)从 socket.io 中过渡过来,于是综合...
  17. 基于netty与websocket的实践 编辑推荐: 本文来自于作者李天翼, 文章以京东到家商家中心为例,引出思路,给出方案,介绍了 netty特性,怎么解决问题等相关内容。 背景 在京东到家商家中心系统中,商家提出在 Web 端实现自动打印的需求,不需要人工盯守点击打印,直接打印小票,以节约人工成本。 解决思路 关于...
  18. [ Laravel 6.0 文档 ] 前端开发 —— 快速入门:JavaScript & CSS 脚手架 简介 Laravel 并不强制你使用什么 JavaScript 框架或者 CSS 预处理器,不过也确实提供了对很多应用而言都很有用的 Bootstrap 和 Vue 的一些基本脚手架。默认情况下,Laravel 使用 NPM 来安装这些前端包。 Laravel 提供的 Bootstrap 和 Vue 脚手架代码位于 laravel/ui 依赖包中,需要通过 Composer 下载安装: ...
  19. Vscode前端开发插件大全Auto Rename Tag: sublime和webstorm也有这个内置功能,改变标签的时候同时改动开闭合标签;【HTML/XML】
  20. 用 Mongoose 插件记录Node.js API 日志作者:Shailesh Shekhawat翻译:疯狂的技术宅 原文:[链接] 未经允许严禁转载 本教程需要事先了解mongoose 对象关系映射(ORM)技术 介绍 随着程序的增长,日志记录成为跟踪所有内容的关键部分。它对于调试目的尤...
  21. JS和TS中的void[每日前端夜话0xBE] 每日前端夜话 0xBE 每日前端夜话,陪你聊前端。 每天晚上18:00准时推送。 正文共:789 字 预计阅读时间:5 分钟 作者:@ddprrt 翻译:疯狂的技术宅 来源: fettblog 如果你来自传统的强类型语言,可能会很熟悉 void 的概念:一种类型,告诉你函数和方法在调用时不返回任何内容...
  22. 真正的敏捷工作流:GitHub flow 7991 年,随着极限编程(Extreme programming)方法论的提出,持续集成(Continuous integration)也随之成为一项标准化的敏捷实践,被逐步应用于各类软件的开发流程中。 9102 年的今天,持续集成的概念已经在软件开发领域生根发芽,广泛应用于不同平台及设备的项目开发,极大提升了项目迭代速度,降低了维护成...
  23. 中间人攻击,HTTPS 也可以被碾压 Taken by iCola 一、什么是MITM 中间人攻击(man-in-the-middle attack, abbreviated to MITM),简单的讲,就是黑客悄悄的躲在通信双方之间,窃听甚至篡改通信信息。而通信双方并不知道消息已经被截获甚至篡改了。 举个例子,小明用微信发一条消息给小红,这条消息会从小...
  24. 7 行代码搞定 Web 服务 【这是一猿小讲的第 50 篇原创分享】 作为一个 Java 程序猿,写代码久了,各种技术也就都尝试了一个遍。先从 SSH1(Spring、Struts1、Hibernate)摸爬滚打转变到 SSH2(Spring、Struts2、Hibernate),谁成想 Struts 漏洞频出,于是 S2 的江湖地位很快被 SpringMVC 占领,随着时间的推移,未成想 MyBati...
  25. js数据类型转换 & 数据类型判断js的数据类型有七种,其中有六种基本类型:null,undefined,boolean,string,number,symbol;以及一种引用类型:object
  26. React 高频面试题梳理,看看面试怎么答?(上) 这是ConardLi的第67篇原创,谢谢你的支持! 文中流程图都为ConardLi原创,如需使用,请标明来源。 前段时间准备面试,总结了很多,下面是我在准备React面试时,结合自己的实际面试经历,以及我以前源码分析的文章,总结出来的一些React高频面试题目。 以前我写的源码分析的文章,并没...
  27. GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目1. 前言 本文介绍如何在 GitHub 上发现优秀的开源项目,找到你想要的矿。 GitHub 作为全球最大的同性交友网站,也是矿资源非常丰富的矿场。 GitHub 有时比 Google 还有用,如果你不懂如何使用它来挖矿,那你不算...
  28. 关于一个陈年Vue项目的重构优化 都说好酒要珍藏,年份越老味道越好,那么项目的话,就要反过来了。要时常的更新迭代才能保证项目的时效性,不会太落伍于时代。就在前两个星期,我接到了公司的重构优化的需求,对象是一个很老的项目(对于前端来说)也就是两年前的项目了。 ps:本编只是讲大体是如何去做的(只是一个参考思路),没有具体实现的步骤~...
  29. TypeScript 中使用 getElementXXX() 简述 Angular 1.x版本是用JavaScript编写的,我们在百度Angular经常会搜索到AngularJS,并不是JavaScript的什么衍生版本,就是Angular 1.x。在后续版本中,改用TypeScript来重写了Angular框架。改动较大,所以做了个区分,Angular v1.x就叫AngularJS,v2及后续版本统称为Angular。 查资料和解决方...
  30. 前端自动化测试(三) 通过前两篇文章的学习,我相信大家对 Jest 的核心用法可以说是已经掌握了,这一篇文中我们在Vue中使用 Jest 1.Vue中集成Jest 我们可以通过 vue 官方提供的 @vue/cli 直接创建Vue项目,在创建前需要先安装好 @vue/cli~ 这里直接创建项目: vue create vue-unit-project ? Please pick a preset: default (b...
  31. Vue 双向数据绑定原理剖析及实现(详细) 1.vue 双向数据绑定是通过 数据劫持 结合 发布订阅模式的方式来实现的, 也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变; 2.核心:关于VUE双向数据绑定,其核心是 Object.defineProperty()方法; 3.介绍一下Object.defineProperty()方法 (1)Object.defineProperty(obj, prop...

关注github前端日报 订阅精彩文章

前端日报栏目数据来自码农头条,每日分享互联网上热门的前端开发、移动开发、设计、资源和资讯等,为开发者提供动力,如果觉得内容对你有用,记得分享给你的小伙伴。进入码农头条查看更多

原文:20190913 前端开发日报 ,未经许可,禁止转载。
来源:前端开发博客 (http://caibaojian.com/fe-daily-20190913.html)