12 2019 档案
JS 统计一个字符串中出现次数最多字母
摘要:一个感觉很平凡的,常常在面试中出现的题目,拥有各种实现形式也就显示出 JS 水平的不同。 首先,简单的来一个基本思路的计算方式: function maxNumLetter( str ){ var lettersObj = {}, len = str.length, letter, letterNu 阅读全文
posted @ 2019-12-31 15:11 ygunoil 阅读(3550) 评论(1) 推荐(1) 编辑
JS二分法查找
摘要:function getIndex(arr,num){ var len = arr.length, st = 0, end = len-1 while(st<=end){ var mid = Math.floor((st+end)/2) if(num==arr[mid]){ return mid } 阅读全文
posted @ 2019-12-31 15:09 ygunoil 阅读(202) 评论(0) 推荐(0) 编辑
Promise.all的实现
摘要:Promise.all的简单实现 Promise.all = arr => { let aResult = []; //用于存放每次执行后返回结果 return new _Promise(function (resolve, reject) { let i = 0; next(); // 开始逐次执 阅读全文
posted @ 2019-12-31 15:01 ygunoil 阅读(1164) 评论(0) 推荐(0) 编辑
如何让(a==1&&a==2&&a==3)成立
摘要:原文链接:https://www.jianshu.com/p/b7831b06f61a 上班摸鱼的时候,刷到了一篇很有意思的文章,可以先看看上面的链接; 对于我这种小白来说,这种判断条件,似乎,好像,可能,大概不成立吧。然后我仔细看了看(第一种方法), 第一遍,嗯?这是什么操作??? 第二遍,哦!原 阅读全文
posted @ 2019-12-31 14:58 ygunoil 阅读(785) 评论(0) 推荐(0) 编辑
React数据共享的三种方法
摘要:在典型的React应用中,数据是通过props属性自上而下(由父及子)进行传递的。 但是,在实际开发中,我们发现有某些属性是许多组件都需要的,那么通过组件树逐层传递props就会特别繁琐,且不容易维护。 所以总结以下三种不用逐层传递props,也可以获得共享数据的方法: 1、Context 版本: 阅读全文
posted @ 2019-12-27 16:40 ygunoil 阅读(2269) 评论(0) 推荐(0) 编辑
for in,for of, for,forEach,map的区别
摘要:最近一直有在面试,各种准备,博客,慕课网都成了常客,看了那么久那么认真,都把自己给感动了,然而呢,一道题几家公司几家问,知道就是说不出来,网上一看很多,说的也很对,看完是懂了,但是没有自己去整理去记忆,还是会被一次次问的语无伦次,所以就从这篇开始吧。 这道题有两家公司都有问到,表现的都不理想,从一开 阅读全文
posted @ 2019-12-27 16:22 ygunoil 阅读(621) 评论(0) 推荐(2) 编辑
promise 中的错误处理
摘要:js 中的错误处理. 分为三块吧. 第一:普通的js中 错误处理. 第二: promise 中的错误处理 第三: async 中的错误处理 第一: 普通的js 的错误处理 说普通是因为比较简单,算一个知识点没有太多啥说的,大家找找资料比较齐全 https://www.sitepoint.com/ex 阅读全文
posted @ 2019-12-27 16:17 ygunoil 阅读(1254) 评论(0) 推荐(0) 编辑
Promise实现请求超时处理(基本版)
摘要:先是没有加入请求超时的情况: var http = require('http'); var url = require('url'); function get(addr) { return new Promise(function(resolve, reject) { var url_obj = 阅读全文
posted @ 2019-12-27 13:54 ygunoil 阅读(1226) 评论(0) 推荐(0) 编辑
webpack4打包多个css的两种方法
摘要:demo目录: 1.将css打包到js内部 配置文件./conf/webpack.dev.js: const path = require("path"); module.exports = { mode: "development", //打包为开发模式 entry: "./src/main", 阅读全文
posted @ 2019-12-27 01:13 ygunoil 阅读(2138) 评论(0) 推荐(0) 编辑
webpack中hash、chunkhash、contenthash区别
摘要:webpack中对于输出文件名可以有三种hash值: 1. hash 2. chunkhash 3. contenthash 这三者有什么区别呢? hash 如果都使用hash的话,因为这是工程级别的,即每次修改任何一个文件,所有文件名的hash至都将改变。所以一旦修改了任何一个文件,整个项目的文件 阅读全文
posted @ 2019-12-27 00:57 ygunoil 阅读(206) 评论(0) 推荐(0) 编辑
react(16.3+)新的生命周期
摘要:新的生命周期 Mounting(加载阶段:涉及4个钩子函数) constructor() 加载的时候调用一次,可以初始化state static getDerivedStateFromProps(props, state) 组件每次被rerender的时候,包括在组件构建之后(虚拟dom之后,实际d 阅读全文
posted @ 2019-12-27 00:39 ygunoil 阅读(212) 评论(0) 推荐(0) 编辑
react中解决this指向问题的四种方法
摘要:相信大家在学习和使用react的过程中,稍不注意就会出现this指向错误的问题,这个问题虽然比较好解决,但是还是让人比较头疼,那么下面就说一下解决这个问题的四种写法。 一.行间定义事件后面使用bind绑定this run(){ alert("第一种方法!") } <button onClick={t 阅读全文
posted @ 2019-12-26 23:57 ygunoil 阅读(1090) 评论(0) 推荐(0) 编辑
如何解决vuex页面刷新数据丢失问题?
摘要:1、问题描述: 一般在登录成功的时候需要把用户信息,菜单信息放置vuex中,作为全局的共享数据。但是在页面刷新的时候vuex里的数据会重新初始化,导致数据丢失。因为vuex里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,vuex里面的数据就会被重新赋值。 2、解决思路: 办法一 阅读全文
posted @ 2019-12-26 16:38 ygunoil 阅读(1388) 评论(0) 推荐(0) 编辑
说说对js原型对象的理解
摘要:原型是Javascript中的继承的基础,JavaScript的继承就是基于原型的继承。 这里我以函数运行为例,先看下面的例子: function Person(name, age){ this.name = name; this.age = age; } var p = new Person("y 阅读全文
posted @ 2019-12-26 16:12 ygunoil 阅读(305) 评论(0) 推荐(0) 编辑
vue中v-if和v-for指令为什么最好不要同时使用
摘要:建议不要在与v-for相同的元素上使用v-if。因为v-for指令的优先级高于v-if当它们处于同一节点。v-for 的优先级比 v-if 更高,这意味着 v-if 将分别重复运行于每个 v-for 循环中。 <ul> <li v-for="user in users" v-if="user.isA 阅读全文
posted @ 2019-12-26 16:00 ygunoil 阅读(2628) 评论(0) 推荐(0) 编辑
前端埋点
摘要:前端埋点主要是为了服务运营人员采集用户行为数据,进行后续的数据分析工作。 前端监控和埋点能做什么 数据监控(用户行为) pv,uv 记录操作系统 用户在每一个页面的停留时间(离开页面,进入页面) 用户进入的入口 用户在相应页面的触发行为,点击按钮 性能监控 (js中的performance) 用户的 阅读全文
posted @ 2019-12-25 22:21 ygunoil 阅读(2108) 评论(0) 推荐(0) 编辑
数据采集与埋点
摘要:在这篇文章里面,我们会对数据采集的一些基本概念进行阐述,然后,会针对目前市面上新增的一些前端埋点技术,如可视化埋点与“无埋点”的技术细节做一个具体的介绍,并且阐述我们自己对于这些技术的理解和认识。 1. 数据采集是核心问题 一个典型的数据平台,对于数据的处理,是由如下的5个步骤组成的: 其中,我们认 阅读全文
posted @ 2019-12-25 22:15 ygunoil 阅读(1153) 评论(0) 推荐(0) 编辑
vue:路由实现原理
摘要:随着前端应用的业务功能起来越复杂,用户对于使用体验的要求越来越高,单面(SPA)成为前端应用的主流形式。大型单页应用最显著特点之一就是采用的前端路由系统,通过改变URL,在不重新请求页面的情况下,更新页面视图。 更新视图但不重新请求页面,是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要 阅读全文
posted @ 2019-12-25 21:40 ygunoil 阅读(971) 评论(0) 推荐(0) 编辑
webpack自定义loader和自定义插件
摘要:加载本地 Loader 1、path.resolve可以简单通过在 rule 对象设置 path.resolve 指向这个本地文件 { test: /\.js$/ use: [ { loader: path.resolve('path/to/loader.js'), options: {/* ... 阅读全文
posted @ 2019-12-25 01:45 ygunoil 阅读(1288) 评论(0) 推荐(0) 编辑
JS常见的算法
摘要:虽说我们很多时候前端很少有机会接触到算法。实际上学习数据结构与算法对于工程师去理解和分析问题都是有帮助的。如果将来当我们面对较为复杂的问题,这些基础知识的积累可以帮助我们更好的优化解决思路。 Q1 判断一个单词是否是回文? 回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣, 阅读全文
posted @ 2019-12-25 00:55 ygunoil 阅读(547) 评论(0) 推荐(0) 编辑
浅析DES、AES、RSA、MD5加密算法及其应用场景
摘要:对称加密算法DES 算法:全称为Data Encryption Standard,一种典型的块加密方法,将固定长度的明文通过一系列复杂的操作变成同样长度的密文,块的长度为64位。同时,DES 使用的密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的用户才能解密密文。 DES 的密钥表面上是6 阅读全文
posted @ 2019-12-24 23:09 ygunoil 阅读(4169) 评论(0) 推荐(0) 编辑
关于JSON.parse(JSON.stringify(obj))实现深拷贝应该注意的坑
摘要:JSON.parse(JSON.stringify(obj))我们一般用来深拷贝,其过程说白了 就是利用JSON.stringify 将js对象序列化(JSON字符串),再使用JSON.parse来反序列化(还原)js对象;序列化的作用是存储(对象本身存储的只是一个地址映射,如果断电,对象将不复存在 阅读全文
posted @ 2019-12-24 21:18 ygunoil 阅读(715) 评论(0) 推荐(0) 编辑
Canvas和SVG区别
摘要:1) svg绘制出来的每一个图形元素都是独立的DOM节点,可方便后期绑定事件或修改, 而canvas输出的是一整幅画布; 2) svg输出的图形是矢量的,后期可以修改参数来自由放大缩小,无失真,canvas输出标量画布,就像一张图片一样。 Canvas 和 SVG 都允许您在浏览器中创建图形,但是它 阅读全文
posted @ 2019-12-23 21:57 ygunoil 阅读(524) 评论(0) 推荐(0) 编辑
解决 webpack 打包文件体积过大
摘要:webpack 把我们所有的文件都打包成一个 JS 文件,这样即使你是小项目,打包后的文件也会非常大。下面就来讲下如何从多个方面进行优化。 去除不必要的插件 刚开始用 webpack 的时候,开发环境和生产环境用的是同一个 webpack 配置文件,导致生产环境打包的 JS 文件包含了一大堆没必要的 阅读全文
posted @ 2019-12-23 21:45 ygunoil 阅读(1165) 评论(0) 推荐(0) 编辑
箭头函数与普通函数的区别
摘要:箭头函数: let fun = () => { console.log('lalalala'); } 普通函数: function fun() { console.log('lalla'); } 箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种只包含一个表达式,连{ ... }和 阅读全文
posted @ 2019-12-23 21:34 ygunoil 阅读(165) 评论(0) 推荐(0) 编辑
vue-router实现原理
摘要:vue-router实现原理 近期面试,遇到关于vue-router实现原理的问题,在查阅了相关资料后,根据自己理解,来记录下。我们知道vue-router是vue的核心插件,而当前vue项目一般都是单页面应用,也就是说vue-router是应用在单页面应用中的。那么,什么是单页面应用呢?在单页面应 阅读全文
posted @ 2019-12-23 21:21 ygunoil 阅读(1696) 评论(0) 推荐(0) 编辑
单向数据流和双向数据流
摘要:在react中是单向数据绑定,而在vue中的特色是双向数据绑定。但是其实就我个人的理解是: 其实无论是vue还是react其实还是提倡单向数据流去管理状态,这一点在vuex和redux状态管理器上体现的很明显。只是vue为UI控件提供了双向数据绑定的方式,在一些需要实时反应用户输入的场合会非常方便。 阅读全文
posted @ 2019-12-23 21:07 ygunoil 阅读(9181) 评论(0) 推荐(2) 编辑
var与let、const的区别
摘要:一、var声明的变量会挂载在window上,而let和const声明的变量不会: var a = 100;console.log(a,window.a); // 100 100let b = 10;console.log(b,window.b); // 10 undefinedconst c = 1 阅读全文
posted @ 2019-12-23 20:55 ygunoil 阅读(327) 评论(0) 推荐(0) 编辑
用原生js来写一个swiper滑块插件
摘要:是不是有点印象了,没错,他的最基本的用法就是左右滑动,插件使用者只需要写几行简单的html和js即可实现一个简单滑动效果,不过你完全可以组合各种元素来适应不同的场景。 当然插件我已经写好了,咱先看下这个插件是怎么来用的,对插件有一个大概了解,一会写起来不至于太懵逼。。。 插件地址:https://g 阅读全文
posted @ 2019-12-23 20:34 ygunoil 阅读(1435) 评论(0) 推荐(0) 编辑
TypeScript 和 JavaScript 的区别
摘要:TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集。JavaScript 和 TypeScript 的主要差异: 1、TypeScript 可以使用 JavaScript 中的所有代码和编码 阅读全文
posted @ 2019-12-22 23:13 ygunoil 阅读(1651) 评论(0) 推荐(0) 编辑
浏览器行为:Form表单提交
摘要:1、form表单常用属性 1 2 3 4 action:url 地址,服务器接收表单数据的地址 method:提交服务器的http方法,一般为post和get name:最好好吃name属性的唯一性 enctype: 表单数据提交时使用的编码类型,默认使用"pplication/x-www-form 阅读全文
posted @ 2019-12-19 18:18 ygunoil 阅读(1697) 评论(0) 推荐(0) 编辑
js中new到底做了什么?如何重写new?
摘要:new 构造函数()执行顺序1.在堆中开辟对象内存空间, 记为obj2.在obj 中添加__proto__属性并指向 构造函数.prototype3.将构造函数中的this 指向obj4.执行构造函数内语句 若构造函数中没有reutrn 或return this或基本类型(number、string 阅读全文
posted @ 2019-12-18 10:45 ygunoil 阅读(419) 评论(0) 推荐(0) 编辑
vue与react对比
摘要:相同点 1.都使用 virtual DOM 2.都是组件化开发 or 都提供了组件化的视图组件 3.数据的改变会引起视图的二次渲染 4.都只有骨架,其他的功能如路由、状态管理等是框架分离的组件。 5.都将注意力集中保持在核心库,有丰富的插件库 区别 1.渲染页面的方式不同:vue使用更简单的模版,变 阅读全文
posted @ 2019-12-12 11:36 ygunoil 阅读(167) 评论(0) 推荐(0) 编辑
关于css中touch-action属性 在移动端开发中遇到的问题
摘要:初次接触第一次接触touch-action这个属性 是在之前一个网约车公众号项目中遇到的 当时采用的是vue做框架 cube-ui做组件库 当时在版本迭代的时候增加了余额支付的功能 需要一个密码键盘 种种原因没有引入第三方插件 而是选择了手写 样式如下图: 当连续快速点击某个数字时,在ios端出现了 阅读全文
posted @ 2019-12-11 13:53 ygunoil 阅读(739) 评论(0) 推荐(0) 编辑
国际化:node导语言包
摘要:项目做国际化,是离不开语言包的en.json、zh-CN.json等等。难道要一个一个json文件的写吗???不!!!只要我们写在excel里,然后用nodejs导出我们需要的语言包就可以了!这样大大节省了开发时间,下面是我写的一个到语言包的脚本 需要可以去我的github下载 阅读全文
posted @ 2019-12-09 17:33 ygunoil 阅读(537) 评论(2) 推荐(0) 编辑
MVVM框架简单实现
摘要:众所周知当下是MVVM盛行的时代,从早期的Angular到现在的React和Vue,再从最初的三分天下到现在的两虎相争。 无疑不给我们的开发带来了一种前所未有的新体验,告别了操作DOM的思维,换上了数据驱动页面的思想,果然时代的进步,改变了我们许多许多。 啰嗦话多了起来,这样不好。我们来进入今天的主 阅读全文
posted @ 2019-12-05 16:41 ygunoil 阅读(880) 评论(0) 推荐(0) 编辑
如何阅读大型前端开源项目的源码(转)
摘要:作者简介 Daniel 蚂蚁金服·数据体验技术团队 转自: https://github.com/ProtoTeam/blog/blob/master/201805/3.md 目前网上有很多「XX源码分析」这样的文章,不过这些文章分析源码的范围有限,有时候讲的内容不是读者最关心的。同时我也注意到,源 阅读全文
posted @ 2019-12-04 17:03 ygunoil 阅读(550) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示