自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

景色分明

面对的风景,除了世界,还有自己。

  • 博客(47)
  • 收藏
  • 关注

原创 小程序自定义导航自适应组件

小程序开发中,有时我们不需要自带的导航栏,那就需要自己写一个这样的导航栏。

2024-01-17 13:51:24 1243

原创 Mac zip 错误22 无效的参数,解决方案

Mac zip 错误22 无效的参数,解决方案!

2023-02-03 22:41:35 712

原创 sublime常用插件配置

sublime常用插件集合: https://packagecontrol.io/很多时候我们使用sublime自带的package control安装不了插件,一直loading中,就可以使用以下手动安装的方式宝藏插件集合: 点我=>手动下载插件的方式首选项 => 浏览插件目录,打开文件夹后到插件集合网站中(上方黄色地址)找自己要下载的插件,Details中点击github地址,在打开的目录中(git clone XXX) 克隆在此文件夹即可常用插件集合(以及加速通道的g

2021-07-09 10:40:49 561

原创 Cookies sessionStorage localStorage的区别

客户端存储Cookies sessionStorage localStorage从以下6个方面分析客户端存储的差异使用方式存储限制生命周期作用域访问限制安全1. 使用方式1.1. Cookies// 服务端// Set-Cookie: <cookie名>=<cookie值>// 浏览器document.cookie = "yummy_cookie=choco";// Cookies的库var docCookies = { getItem:

2021-04-19 22:23:39 160

原创 小程序登录授权实践

登录授权最佳实践1. 概念unionIdopenIdsession_keyaccess_token1.1. unionId如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。获取途径绑定了开发者帐号的小程序,可以通过以下途径获取 Union

2021-03-31 14:23:16 291

原创 node中的模块机制

模块机制1.1 模块分类核心模块文件模块第三方模块2.1 CommonJS 出发点JS缺陷没有模块标准标准库较少没有标准接口缺乏包管理系统2.1.2 模块规范主要分为 模块引用、模块定义、模块标识模块引用var math = require('math');模块定义对用require, 提供了exports 对象用于导出当前模块的方法和变量, 并且它是唯一导出的出口还存在一个module对象,代表模块自身exports 是 module的一个属性

2021-03-22 22:33:04 159

原创 图解js的继承

继承github地址1. 概念继承是面向对象编程的基石。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和方法1.1 继承的优点:提取公共代码,减少代码重复性提高代码可维护性让类与类之间产生了关系,是多态的前提1.2 继承的类型:单继承多继承不同类继承同一个类多继承2. js的继承js本身最开始的设计只是为了实现网页提交表单时做个表单验证等简单功能现在web端越来越重,导致js不得不持续更新完善自己,来支持实现越来越复杂的需求所以经常会看到一

2020-12-06 03:04:21 358

原创 webpack迷之参数--env --mode NODE_ENV

环境变量参数配置参数说明类型–env当配置文件是一个函数时,会将环境变量传给这个函数string–mode‘development’ 或者 ‘production’stringwebpack --env prod=1module.exports = (env, arg) => { // env { prod:1 } // arg.env = env}webpack --mode production注意⚠️ 命令行中的mode参数,会覆盖

2020-11-26 18:25:30 3061

原创 es6系列之symbol

概述Symbol 新的基本数据类型,表示独一无二的值。前6中 undefined null number boolean string object对象的属性名可以有2中类型 string symbol使用Symbol函数可接受字符串作为参数,表示实例的描述,没有实际用处const s1 = Symbol('123')console.log(s1) // Symbol(123)Symbol参数如果是对象``数组等实例具有toString属性的,会将其转换为字符串(调用实例方法toStrin

2020-09-03 11:19:09 275

原创 http系列2--连接管理

http连接管理串行http是基于TCP进行连接的。TCP时延包括三次握手,慢启动等如果只是简单的串行连接,每个事务都需要建立一条新的连接 ,TCP的性能时延可能会叠加。并行连接HTTP允许客户端打开多条连接,并行的执行多个HTTP事务。http1.1 使用的就是并行连接,即同时发送多条http请求,每次都会同时重新发起新的http请求。好处是 不需要下一次的http事务等待上一个结束在发起,可以同时发起。不是说同一个连接同时只能发送一个http请求吗,为什么还可以并行连接呢?答:一个连

2020-07-26 13:54:52 370

原创 http系列1--概览

思维导图添加链接描述

2020-07-26 10:57:11 111

原创 手写bind call apply函数

applyFunction.prototype.myApply = function (thisArg, ArgArray) { if (typeof thisArg == 'undefined' || typeof thisArg == null) { thisArg = window } let fnSymbol = Symbol() thisArg[fnSymbol] = this let ret = thisArg[fnSymbol](...A

2020-07-20 14:23:25 216

原创 防抖节流函数

文章目录防抖节流防抖概念 :n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间使用场景:输入框实现:1.最初的想法:高频函数作为参数,和延时时间 传给debounce函数,然后染回一个新函数,使得整个函数具有防抖功能。首先想到使用闭包,这样可以具有保存变量的能力重新计时一定需要用到计时器的创建和清除const debounce = (fn, delay) => { let id return function(...args) { // 不能使用箭头函数

2020-07-05 17:17:53 1880

原创 常用的js util函数

判断数据类型function type(target) { let ret = typeof (target); const TYPE_MAP = { "[object Array]": "array", "[object Object]": "object", "[object Number]": "number", "[object Boolean]": "boolean", "[object String]": 'string' }; if

2020-06-09 23:27:52 1034

原创 javascript的垃圾回收机制,内存管理机制,作用域链一系列问题

最近一直热衷于计算机组成原理,会抽空看下<<计算机组成原理>>和B站的视频,遇到了很多自己不明白的地方,然后在去查资料搜索相关的知识.本文仅是对自己看到的想到的一些知识做一些总结和梳理,并不是一个全方位的系统的 内存管理, 垃圾回收机制,作用域 的讲解.javascript中的 基础数据类型 存储在内存中的 栈区,引用数据类型 存储在内存中的 堆区现代浏览器 的垃圾回收机制是采用 标记清除法,ie8 以下是 引用计数法全局变量,闭包,计时器 容易造成内存泄漏如果能把上面

2020-05-31 17:39:54 303

原创 es结构赋值默认值无效的问题

问题:const b = {a:false}const {a = 2} = b执行结果a == false既然Boolean(a) == false ,为何不取默认值2呢???答案:可以进入babel自己测试下可以看到es6 => es5之后的结果a = b.a === void 0 ? false : b.avoid 0的解释void 0 === undefin...

2020-03-13 13:59:06 463

原创 taro框架props解构jsx标签,不渲染的问题

如果你也遇到这个问题,大概率说明你没有认真读过taro的文档,是不是有点气,我敢这么说是因为我就是,遇到了这个坑才想起来认真去看看文档。不过踩坑这个过程也是必要的,单纯地枯燥的看文档并不是最好的方法,遇到问题再去认真看下文档理解下,也未尝不可。废话太多!!!进入正题。问题:目录结构srccomponentsgood-itempagesgood-list...

2019-10-22 23:33:16 1204

原创 gyp ERR! stack Error: EACCES: permission denied, mkdir问题解决方案

gyp ERR! stack Error: EACCES: permission denied, mkdir问题解决方案sudo npm i --unsafe-perm原因还是权限问题就是说 npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要...

2019-10-15 13:33:23 19521 8

原创 npm ERR! code EINTEGRITY 解决方案

npm ERR! code EINTEGRITY 解决方案在使用taro 安装依赖包的时候,经常出现npm ERR! code EINTEGRITY的问题,应该是npm本地的缓存造成的。删除package.lock.json文件(如果不想更改此文件,装完之后还原即可)npm cache clean --force (会有警告提示,忽略即可)npm i 重新安装亲测有效~...

2019-10-14 14:23:33 28692 4

原创 随机打算数组【洗牌算法】

// 洗牌算法var a = [1,2,3,4,5,6,7,8,9];//方法1function randomList(arr){ var newArr = []; while(arr.length > 0){ //从现有的数组中随机找一个放入新数组中 var random = Math.floor(Math.random() * arr.l...

2019-09-05 22:46:28 208

原创 js深拷贝

递归function deepCopy(arg){ var result = Array.isArray(arg) ?[]: {}; for(let key in arg){ if(obj.hasOwnProperty(key)){ if(typeof arg[key] === 'object'){ resu...

2019-09-05 22:42:31 109

原创 leetcode--最长回文字符串

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example 1:Input: "babad"Output: "bab"Note: "aba" is also a valid answer.Example...

2019-08-27 23:33:54 133

原创 下划线,横线连接符转为驼峰命名

/** * * @param {*} s * @param {*} symbol 分隔符 */function toCamelCase(s,symbol){ var arr = s.split(''); const len = arr.length; for (let i = 0; i < len; i++) { const eleme...

2019-08-27 11:29:01 260

原创 js函数参数传递

js函数参数传递《JS高程3》4.1.3中:ECMAScript中所有函数的参数都是按值传递的。也就是说,把函数外部的值复制为函数内部的参数,就和把值从一个变量复制到另一个变量一样。正如书中所说,“有不少开发人员在这一点上可能感到困惑”,很不幸,我就是那一部分人。本文一是看高程整理的笔记,另一方面是自己有很多不理解的地方,望理解的可以解开我的困惑。以下内容红色部分为是我自己内心yy,就是我...

2019-07-14 00:33:49 333 3

原创 数组常用方法

map:新建一个数组,不改变原数组,return 值为数组相应值filter:新建一个数组,不改变原数组,return ture返回数组值,false不返回forEach:无返回值,无法return 跳出循环...

2019-04-04 10:30:25 117

原创 获取对象自身的属性

问题找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)1、返回数组,格式为 key: value2、结果数组不要求顺序答案Object.keys 方法(156 ms)返回可枚举的实例属性的数组。function iterate(obj) { return Object.keys(obj).map(function(key) { ...

2019-04-04 10:02:15 1218

原创 小程序列表分页效果

小程序列表分页效果1.需求触底分页加载列表2.代码Talk is cheap. Show me the codepage.jsPage({ /** * 页面的初始数据 */ data: { page:0,//当前页 pages:0,//每页条数 total:0,//总条数 shop:[...

2019-03-31 16:44:10 7622

原创 工作常用git-命令--自己总结

git add .git commit -m “”git pushgit log1.git log --grep="" //模糊匹配commit名称2.git log --name-only //仅在提交信息后显示已修改的文件清单。git checkout 分支git checkout -b 分支...

2019-03-29 11:35:19 124

原创 小程序根据手机机型设置自定义底部导航距离

需求:iponeX 以上机型,手机底部有弧度,自己写的导航栏会被遮住, 需要判断手机机型,做兼容设置.解决://app.jsApp({ /** * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) */ onLaunch: function() { var that = this; //获取手机型号 ...

2019-03-29 10:31:49 1447 2

原创 iframe,ios下iframe页面内容宽度超出屏幕宽度

iframe,ios下iframe页面内容宽度超出屏幕宽度安卓,pc上面测试正常,ios异常解决方案:&lt;div style="overflow: auto;-webkit-overflow-scrolling:touch;width:100%;height:100%;"&gt; &lt;iframe src="https://engine.tuishark.com/in...

2019-02-18 15:22:32 2642

原创 ie不支持函数参数默认值

#ie不支持函数参数默认值function fn(a,b = 1){ }可改为function fn(a,b){ if(b == undefined){ b = 1; }}亲测有效

2019-01-26 18:58:09 2225

原创 移除数组中元素(直接改变原数组)

题目描述移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回splice,递增遍历function removeWithoutCopy(arr, item) { var length = arr.length for(var i = 0; i &lt; length ; i++){ if(arr[i] == ...

2019-01-04 10:19:11 2054

原创 js移除数组中元素

题目描述移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组filterfunction remove(arr, item) { return arr.filter(function(cur,index,src){ if(cur === item){ return false } ...

2019-01-04 09:57:11 6153

原创 Xftp安装报错【组件错误】

安装Xftp问题:在安装Xftp的时候,安装到最后会报错 组件错误解决:打开Visual Studio C++链接下载Visual Studio C++安装后重启电脑(一定要重启电脑!!)重新安装XftpOK,安装成功!!亲测有用。...

2018-11-30 21:48:36 4419

原创 npm安装提速

npm命令行后面添加淘宝镜像地址就oknpm install babel-loader --save-dev --registry=https://registry.npm.taobao.org

2018-11-16 22:05:42 235

原创 input设置占位符placeholder样式

input::-webkit-input-placeholder { color:rgba(153,153,153,1);text-align: left; }input::-moz-placeholder { color:rgba(153,153,153,1); text-align: left;} /* firefox 19+ */input:-ms-input-placeho...

2018-11-15 16:29:04 5697

原创 移动端设置高度为窗口高度

做移动端web的时候,我们经常遇到要设置外层div为屏幕高度,但是内容没有达到窗口高度,div继承body的高度,达不到屏幕高度我们一般的方法是html,body{ height:100%;}但是,下面方法更好div{ height:100vh; //100vh为屏幕高度}...

2018-11-14 11:43:13 3067

原创 前端DOM学习总结(一)

感觉自己的DOM基础很不扎实,最近在看&amp;amp;lt;&amp;amp;lt;javaScript高级程序&amp;amp;gt;&amp;amp;gt;,学习这一模块,下面是自己的学习成果.节点层次Node类型节点关系操作节点节点层次DOM 可将任何 HTML , XML 描绘成由多层节点构成的结构.节点分为几种不同的类型,每种类型分表表示文档中不同的信息及标记.每个节点都拥有各自的特点,数据 和 方法,节点之间都存在某种关系....

2018-10-27 14:21:11 529

原创 前端大牛人物汇总

前端大牛人物Douglas Crockford(道格拉斯·克罗克福特)个人博客是美国程序员和企业家,知名于对网页编程语言JavaScript推进和改良;且为轻量级数据交换格式“JSON”的创建者。他还是众多JavaScript语言开发工具的创造者,例如JSLint和JSMin。近段时间,他在PayPal担任JavaScript语言高级顾问,当然他也是JavaScript、JSON以...

2018-10-25 17:16:00 3644

原创 JQuery.extend()与JQuery.fn.extend()的区别

JQuery.extend()与JQuery.fn.extend()本篇文章概要:JQuery.extend(),JQuery.fn.extend()的源码分析JQuery.extend()的使用JQuery.fn.extend()的使用JQuery.extend(),JQuery.fn.extend()的源码分析废话少说,直接上源码由此可见:jQuery.fn $....

2018-10-17 10:55:31 804

空空如也

空空如也

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

TA关注的人

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