自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 收藏
  • 关注

原创 React Native搭建iOS开发环境 && 定制化VSCode编辑器

React NativeCocoaPods是用 Ruby 编写的包管理器。从 0.60 版本开始 react native 的 iOS 版本需要使用 CocoaPods 来管理依赖。你可以使用下面的命令来安装 cocoapods。镜像使用对于旧版的 CocoaPods 可以使用如下方法使用 tuna 的镜像:pod repo remove masterpod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Sp

2020-10-16 14:55:39 431

原创 我常用的命令集

Linux命令rm -rf 目录名字 删除文件夹mkdir 新建文件夹touch 新建文件chflags hidden 文件夹/文件名 隐藏文件/夹backup 备份 链式 mkdir *** backupcd www , 意思是 到www目录; cd … , 意思是到上一级目录; cd - ,意思是返回到上次的目录 ; cd ~,系统管理员的主目录 ; cd / 根目录;reboot 重启 halt 马上关机gunzip 文件名 解压tar.gz文件 t

2020-10-16 14:52:27 275

原创 javascript 创建对象 模式总结

原地址:https://www.cnblogs.com/zldream1106/archive/2013/05/21/3090340.html

2020-09-25 16:58:19 186

原创 编写omniPoller模拟接口请求逻辑

今天看到简书上一个动态,有道题挺感兴趣的,我把原来的链接发出来:请实现一个功能’ omniPoller ', 用来模拟真实的轮询我把要求列出来:omniPoller函数接受两个参数:queryStatus和successCallbackqueryStatus是一个返回true或false的函数successCallback是一个函数,应该在queryStatus返回true时调用。omniPoller应该定期调用queryStatus当调用一把queryStatus即成功时,即一次就返回t

2020-07-14 16:53:41 557

原创 你真的了解!! 和 !吗?

灵感来源:最近代码走查的时候,看到代码中经常用到!!这个,然后就很纳闷这个东西到底有啥意义呢,就研究了一下:初次认为你是不是认为!!是取反在取反等于原变量本身,其实你的理解是对的,但是只是一点点,咱们先来聊聊!具体使用方法其实js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true !null = true !undefined = tr

2020-07-03 10:22:30 168

原创 webpack2中 open-browser-webpack-plugin 不生效

今天用webpack2配置了一个项目,想实现一个开启服务,浏览器自动开发首页,但是配置了open-browser-webpack-plugin后不生效,是因为该插件只能在node版本为7.0的情况下才能正常运行,我猜想原因可能是webpack2比较老旧,该项目的很多的插件也是在原来node版本比较旧的情况下才能正常运行,故记录如下,告知后人,此处有坑。var HtmlwebpackPlugin = require('html-webpack-plugin');var OpenBrowserPlugin

2020-05-18 17:56:15 512

原创 javascript常见场景的一题多解

对象中能使用call或者applly方法吗A: 当然可以了,只要有函数的地方就可以使用call或者apply,举个例子:var Study = { country: 'china', age: null, init: function (name, txt) { console.log(`${name},特长是:${txt}`); }, detail: function (name, txt) { this.init.call(this, name, txt);

2020-05-12 16:41:47 344

原创 前端面试必问问题18道---一篇文章进大厂

谈谈数组Array在项目中常见的场景求和,求最大(小)值,排序,多个数组合并(concat),去重,分割,find,indexOf,filter,join, toString等等数组的concat,join,slice,toString方法不会改变原数组数组的splice,push,pop,unshift,shift,sort,reverse方法会改变原数组类数组怎么转化为数组什么是...

2020-04-03 19:03:47 548

原创 聊聊new Function这个陌生面孔及函数作用域和函数执行顺序

咱们平时定义一个函数是怎么个定义法呢, 咱们以计算3和5的和为例:你首先想到的可能就是,这还不简单,so easy,你看: function sum(a, b) { return a + b; }或者用咱们的ES6 let sum = (a, b) => a + b;恭喜你答对了,其实啊,函数的定义常见的也就是上面的这种方式,没有什么特别的花样,但是今天咱们聊聊...

2020-03-27 18:39:21 1311 1

原创 如何将相同属性的数组对象合并并统计个数

类别: 一题多解博客: https://blog.csdn.net/qtfying掘金: https://juejin.im/user/57739929c4c9710055376671QQ: 2811132560邮箱: [email protected] 这两天在浏览博客的时侯,发现这样一个题,就尝试着去解了一把,现在把解的几个方法贴出来,供大家参考和学习目标数组为: let ...

2020-01-06 16:23:07 1228

原创 由/(\w+)\s(\w+)/ 而感,一篇道尽js中的正则表达式

类别: 正则表达式博客: https://blog.csdn.net/qtfying掘金: https://juejin.im/user/57739929c4c9710055376671QQ: 2811132560邮箱: [email protected]上面的这个正则表达是很简单,但是在谈这个问题之前呢,我还是想聊聊正则表达式,一来呢,增加文章的可读性,二呢,也能帮助读者循序渐进...

2019-12-30 20:33:20 2653 2

原创 生动形象解密Promise、Generator 函数、Async 函数三者之间的关系(下)

博客: https://blog.csdn.net/qtfying掘金: https://juejin.im/user/57deadcd0e3dd90069721916QQ: 2811132560邮箱: [email protected]咱们书接上回,聊到哪了来着,奥,Generate的遍历~~~没有看到上篇的文章,来来来,我带你传送生动形象解密Promise、Generator ...

2019-12-19 16:41:05 513 1

原创 生动形象解密Promise、Generator 函数、Async 函数三者之间的关系(上)

博客: https://blog.csdn.net/qtfying掘金: https://juejin.im/user/57deadcd0e3dd90069721916QQ: 2811132560邮箱: [email protected]最近被这三个兄弟搞得是晕头转向,然后决定花一番功夫比较深入的去了解一番,本着做为一名资深前端老油条的善良初心,决定还是布道,对还是布道一下,不但是...

2019-12-18 17:29:29 866

原创 从零开始撸一个ajax框架

写这篇文章的初衷:写了5年代码,发现每天的工作都是在像拼积木一样,拼凑着一个又一个功能,但是基本的实现原理可能就那几把刷子,想着想着就干脆整理成一个自己风格的公共库,既然说了,那就干呗,先把最常用的一个方法—ajax入手,发现认真去做一件事情还真的不容易,所以就把这个封装ajax的过程整理成一个博客,供大家参考,小弟也虚心听取各位大佬建议~~框架起步框架的封装是一个开发者综合能力的一个体现...

2019-12-12 19:26:37 1695 5

原创 slice,splice和split方法的区别和异同

每见到这三个函数,懵不懵,晕不晕…,一遍文章搞定slice(数组)用法:array.slice(start,end)解释:该方法是对数组进行部分截取,并返回一个数组副本;参数start是截取的开始数组索引,end参数等于你要取的最后一个字符的位置值加上1(可选)//如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾var a=[1,2,3,4,5,6];var b=a.s...

2019-10-09 17:11:02 523

原创 javascript中常见的数组面试题

说在前面的话:数组的concat,join,slice,toString方法不会改变原数组。数组的splice,push,pop,unshift,shift,sort,reverse方法会改变原数组。数组求和要求:计算给定数组的所有元素的总和,数组的元素均为Numeber,不考虑其它类型。方法一:常规遍历相加for,for in, for of, forEach都可以遍历数组!这里...

2019-10-08 16:06:14 400

原创 for in循环遍历和for循环的区别

看到for in可以遍历某个对象的所有属性这一块,更是摸不着头脑。JS中用来遍历的方法不是已经有for循环了吗?为什么又多出一个for in来呢?还是用示例来看下这两者到底有什么区别吧。<ul id="ul"> <li>111</li> <li>222</li> <li>333</li> &lt...

2019-10-08 15:07:19 2752

原创 根据android版本号,增加兼容性处理

// 获取安卓版本号 function getAndroidVersion() { var u = window.navigator.userAgent; if(u.indexOf('Mobile') > -1){ if (u.indexOf('Android') > -1 || u.indexOf('Linux')...

2019-08-09 15:52:32 853

原创 javascript模拟marquee跑马灯效果

javascript完美模拟marquee效果随着html中的标签marquee不在被W3C作为标准采纳,在可遇见的未来也会慢慢的被各大浏览器抛弃,直至废弃,为什么被废弃呢,经过小雨我不辞辛苦的总结有以下几种原因:marquee这家伙是微软自己创造出来的,现在火狐都支持了,它自己不干了marquee的效果,必须要前一次滚动完成之后,才会接着下一次,会留白很长一段时间,适合无限向上滚动,无限...

2019-08-07 16:00:59 855

转载 理解深浅拷贝的原理---栈(stack)和堆(heap)

1、栈(stack)和堆(heap)stack为自动分配的内存空间,它由系统自动释放;而heap则是动态分配的内存,大小不定也不会自动释放。2、基本类型和引用类型基本类型:存放在栈内存中的简单数据段,数据大小确定,内存空间大小可以分配。5种基本数据类型有Undefined、Null、Boolean、Number 和 String,它们是直接按值存放的,所以可以直接访问。引用类型:存放在堆...

2019-05-21 17:01:15 929

转载 终于弄清楚JS的深拷贝和浅拷贝了[转]

今天在看js的深浅拷贝的时候,发现一个很好的帖子,神贴,来自作者:一只努力的程序媛为了节省时间,我就直接先复制过来啦,致敬致敬!!!今天,CVTE面试官问了深拷贝和浅拷贝的问题我的回答是:浅拷贝是拷贝了对象的引用,当原对象发生变化的时候,拷贝对象也跟着变化;深拷贝是另外申请了一块内存,内容和原对象一样,更改原对象,拷贝对象不会发生变化;但是面试官给我说:浅拷贝是拷贝一层,深层次的对象级...

2019-05-21 15:17:15 331

原创 手把手撸一个Koa前后端分离的例子

最近在研究Koa2的知识,跟着视频学了很久,视频中都是类似于写jsp和thinkphp一样的例子,前端页面全部都是用ejs等等渲染出来的,都9012年了,前后端都分离这么久了,怎么可能还前后端代码耦合在一起,吓得我虎躯一震,赶紧查了一下资料,结合自己多年的聪明才智,撸了一个前后端分离的例子,简单明了,直接上代码:后端代码: /*jshint esversion:8*/ var Koa=r...

2019-05-09 18:39:10 1450

原创 gulp: command not found和-bash:./mongod: Permission denied问题解决

问题1使用npm执行安装gulp命令~$ npm install gulp -global安装成功后执行命令gulp -v时侯报以下错误bash: gulp: command not found执行其他的命令也遇到相同的问题原因:安装成功了,但是直接使用时侯确找不到命令,应该是环境变量的问题,设置环境变量就可以了。解决办法:用一个通用的命令配置环境变量,$ echo -e "ex...

2019-04-26 14:40:47 1740

原创 再次浅谈ReactDom.render( )

今天遇到一个问题,在用creat-react-app脚手架搭建React项目的时候,我们能不能在index.js这个页面传值或者写其他的函数呢,我一开始以为是不可以的,但是没想到试试后竟然也是OK的,就拿属性延展来举例子吧:原来页面:import React from 'react';import ReactDOM from 'react-dom';import './index.cs...

2019-04-02 15:59:01 1481

原创 JS基础知识整理

1.while循环2.for循环3.定义函数4.函数表达式5.变量的范围6.创建一个对象7.对象中的数组8.更新与删除对象中的属性9.为对象添加方法10.循环输出对象的属性11.querySelector和querySelectorAll12.访问元素的属性nodename 元素节点名称innerText 元素内容paren...

2019-04-02 15:52:34 258

原创 三端开发调研之京东Taro

三端开发调研之TaroTaro 是由凹凸实验室打造的一套遵循 React 语法规范的多端统一开发框架。使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信小程序、H5、App 端等)运行的代码。实现 一次编写,多端运行。和JDreact的关系Taro 是基于 Nerv.js 搞的。Nerv 是在 2017 年初就已经开发了的基于 v...

2019-03-07 09:37:08 683

原创 require.js/seajs/ES6/browserify/webpack的区别

Javascript不具备原生的模块化技能,因此需要采用第三方开发的模块依赖处理库来实现模块化:AMD、CommonJS、ES6这三种方案的实现对比:AMD: define + requireCMD: exports + requireES6: export + import由于ES6本身是原生语言支持实现的模块化,但是现代浏览器大多都还未支持,因此必须使用相应的tra...

2019-02-21 14:25:34 500

原创 Set和Map

产生起因JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对。但是JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。为了解决这个问题,最新的ES6规范引入了新的数据类型Map和set.Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构应用场景数组...

2019-01-25 13:56:40 299

原创 对象,数组,Set,Map的遍历方法

var a = ['A', 'B', 'C'];for(var i of a.keys()) { console.log(i)}for (var i of a) { console.log(i)}a.forEach(function (element, index, array) { console.log(element + ', index = ' + index)...

2019-01-24 15:04:32 347

原创 为什么数组是对象(javascript基本数据类型)

关于javascript的基本数据类型,网上搜的结果是:W3CSchool结果:字符串、数字、布尔、数组、对象、Null、UndefinedMDN的结果:最新的 ECMAScript 标准定义了 7 种数据类型:6 种原始类型:BooleanNullUndefinedNumberStringSymbol (ECMAScript 6 新定义)和 Object怎么解释...

2019-01-23 18:07:10 2435

原创 Error: EACCES: permission denied, mkdir

今天研究Electron的时候,在Mac下运行全局安装运行npm install electron -g时侯,报下面的错误:Error: EACCES: permission denied, mkdir '/User/**/Electron/electron-quick-start/node_modules/electron/dist'找了很多的博客,都是什么用cnpm啦,加sudo啦...

2019-01-14 18:07:53 12558 1

原创 React项目打包部署到服务器上的遇到的问题

上一篇我我们讲到关于vue-cli的项目部署的一些小坑,但是对于React项目,如果用create-react-app脚手架运行npm run build后,直接把build文件夹扔到服务器,也会出现同样的问题,怎么才能直接点击运行index.html呢???最简单的方法:个人比较推荐这种,省事----修改package.json修改配置文件----node_modules/reac...

2018-12-19 22:38:53 3113 5

原创 Vue项目打包部署到服务器上的遇到的两个问题

这两天一直在忙活着搞自己的服务器,想着怎么把用webpack打包的项目部署到服务器上呢,就打算init一个vue的创建示例,当我跑所有人都知道的npm run build的时候,好开心,幸福来得就是这么突然:第一个问题来了:打包部署的时候,index.html空白高兴的我,赶紧把dist代码改了一下名字initApp,扔到服务器上一跑,结果没有出来,然后就直接点击一下dist的inde...

2018-12-19 13:51:48 5255

原创 知乎项目代码阅后总结

项目源地址源码地址项目中增加Reactotron:使用方法项目中的问题[白图为源码,彩图为修改后的正确代码]:setStateaxios请求回来的数据回填到setState中,应该只调用一次setState一个页面需要调用2次接口才能渲染出时候,应该用回调改为回调axios,同时setState只设置一次个人还是比较崇拜先定义后导出的写法ex...

2018-12-19 10:47:05 345

原创 CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境

CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境 准备篇: 1、配置防火墙,开启80端口、3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state -...

2018-12-14 17:19:50 461 1

原创 重写移动端滚动条[iScroll.js核心代码]

最近写一个popover弹窗时,发现这个滚动条是真的丑啊,决定重新撸一个滚动条:首先咱们回顾一下移动端浏览器滚动条特性:滚动条在开始滚动时渐显,滚动结束后渐隐 滚动条不占内容区宽度,悬浮固定 滚动条高度(深灰)和滚动区可视高度(浅灰)比等于滚动区可视高度和滚动目标的高度 当滚动目标的高度小于滚动区可视高度的时候,滚动条不显示,并且无法滚动 只有在滚动滚动目标时,才能触发滚动 当滚...

2018-12-12 21:42:56 1093

原创 js一行代码实现数组去重

ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; let set = new Set(array); console.log(set); // =&gt; Set {1, 2, 3, 4, 5}ES6中Array新增了一个静态方法A...

2018-11-13 15:08:26 1276

转载 理解 JavaScript 中的 for…of 循环

 什么是 for…of 循环for...of 语句创建一个循环来迭代可迭代的对象。在 ES6 中引入的 for...of 循环,以替代 for...in 和 forEach() ,并支持新的迭代协议。for...of 允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构等。语法for (variable of ...

2018-11-13 15:03:14 210

原创 手把手教你写ES6箭头函数

通常函数的定义方法var fn = function(...){    ......    }例如:var add = function(a,b){    return a+b;}//或者:function fn(...){    ......}//例如:function add(a,b){    return a+b;}简写方法速记将原...

2018-10-25 14:26:05 374

原创 一看就懂的ES6箭头函数(Arrow Functions)

ES6可以使用" =&gt; "定义函数,注意是函数,不要使用这种方式定义类(构造器)。一. 语法1.具有一个参数的简单函数var single = a =&gt; a;single('hello, world') //'hello, world'2.没有参数的需要在箭头前加上小括号var log = () =&gt; { alert('no param')}...

2018-10-25 11:10:24 370

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除