自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

听闻青春丶

愿你行走半生,归来时仍是少年。

原创 vue-cli3.0配置详解 内附demo源代码 以及处理npm ERR导致无法安装任何包的解决办法

这次给大家带来vue-cli3.0配置详解,使用vue-cli3.0配置的注意事项有哪些,下面就是实战案例,一起来看一下。原网址点个关注呗!!!!新建项目 1 2 3 4 5 6 7 8 # 安装 npm install -g @vue/cli # 新建项目 vue crea...

2018-07-06 18:24:46 14554 41

转载 前端Nginx那些事

随着前端变革,Nginx也成为了前端开发工程师必不可少应该具备的一项技能了,那nginx到底起的是吗作用? 其实Nginx一直跟我们息息相关,它既可以作为 Web 服务器,也可以作为负载均衡服务器,具备高性能、高并发连接等1.负载均衡当一个应用单位时间内访问量激增,服务器的带宽及性能受到影响,影响大到自身承受能力时,服务器就会宕机奔溃,为了防止这种现象发生,以及...

2020-04-23 10:14:54 72

原创 二进制 移位 十进制 互转

/** * 将二进制数转为十进制 * @Author anyao * @DateTime 2020-03-31T18:59:12+0800 * @param {[jq selector]} doms [css选择器] * @param {[string]} actclass [激活的class名]...

2020-03-31 19:03:46 83

原创 2019前端最全面试题一(基础)

1、Doctype作用?标准模式与兼容模式各有什么区别? (1)、<!DOCTYPE>声明位于HTML文档中的第一行,处于 <html> 标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。(2)、标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方...

2019-09-06 11:02:13 660

转载 react组件通信

大致分为以下几种情况:父组件向子组件通信 子组件向父组件通信 跨级组件通信 没有嵌套关系组件之间的通信1. 父组件向子组件通信React数据流动是单向的,父组件向子组件通信也是最常见的;父组件通过props向子组件传递需要的信息Child.jsximport React from 'react';import PropTypes from 'prop-types';...

2019-09-05 14:48:11 66

原创 let const 等到底会不会变量名提升?

深刻理解变量名提升过程//变量的创建三个过程: 创建 初始化 赋值// 变量名提示指的是 创建、初始化 -->提升// let const 只是创建提升、并未初始化,所以不能用(暂存性死区);Object.defineProperty(window,'testlet',{ value:22 });// console.log(testlet)...

2019-08-30 10:03:00 160

原创 自己实现字符串模板(慎用eval)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>template模板</title></head><body> <a href=""></a> &lt...

2019-08-21 20:11:49 356

原创 mac 使用git error: 不能打开 .git/FETCH_HEAD: Permission denied

.git/FETCH_HEAD: Permission denied 解决办法:sudo chown -R 当前用户:当前用户所在组 .git不知道当前用户组输入查询:groups // 查看当前用户所属组groups user_name // 查看指定用户所属组Note:用户所属组可能有多个id -a user_name // 可以查到指定用户所属组更详细的信息...

2019-08-19 11:32:04 5325

原创 blockly研究(三)自定义生成代码

先占个坑哈哈哈~大家可以可以把目前遇到的这块存在的问题留言在下面,可以一起探讨交流由于最近没有做这一块,大概十月左右更新

2019-08-16 10:24:59 1119 3

原创 vue+typescript 项目初体验 持续更新

Typescript + Vue不会搭建Vue项目?点击地址秒变vue大神 (手动选择置入Typescript)Typescript 是什么?1.1:是什么?TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。安德斯·海尔斯伯格,C#的首席架构师,已工作于Ty...

2019-08-15 14:28:47 72

原创 console.log('I am %s, I am %d years old', name, age);

console.log('I am %s, I am %d years old', 'anyao', 18);其和c的printf用法一致 更多

2019-08-14 14:43:50 34

原创 leetcode题目练习(js实现)

题目一、在一个无序数组中,寻找连续两个及两个以上的相同元素的个数var arr = [1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,10, 22, 32, 4, 5,4, 5, 5, 4, 4, 4, 5, 5, 5, 6, 9, 8, 8, 2];//常规思路 解法一 var cont = 0,c; // 找相邻等于它的 funct...

2019-08-12 19:37:33 70

原创 截取数组对象

需求:var arr = [{ a: 1 }, { b: 2 }, { c: 3 }, { a: 1 }, { b: 2 }, { c: 3 }, { d: 4 }, { a: 1 }, { b: 2 }, { c: 3 }, { d: 4 }, { e: 5 }]; /**方案一 * 获取某个属性值 * @param {[string]} atr [属性...

2019-07-31 14:40:34 820

原创 click事件无法触发解决方案

方法: 这里使用了jq所以直接用了,大家可以改成原生写法/** * 将touch事件改为点击事件 * @param {[string]} dom [css选择器] * @param {[bool]} derect [方向 x为false,y方向为true] * @param {Function} callback [要执行的函数] * @retur...

2019-05-31 17:08:25 543 1

原创 es6 proxy的一些应用

1、校验:let validator = { set: function(obj, prop, value) { if (prop === 'age') { if (!Number.isInteger(value)) { throw new TypeError('The age is not an integer'); } if...

2019-05-24 15:19:21 249

原创 js二叉树的建立与中序遍历

二叉树概念1.除了最下面一层,每个节点都是父节点,每个节点都有且最多有两个子节点;2.除了最上面一层,每个节点是子节点,每个节点都会有一个父节点;3.最上面一层的节点为根节点;图例说明:中序遍历概念先打印左子树(左子节点),接着打印父节点,最后打印右子树(右子节点)代码实现: //创建二叉树 function Node(data,lef...

2019-04-24 14:06:32 159

原创 jq让出"$"

为了让你开发的插件应用更加广泛,兼容性更加好,还要考虑到用插件的人的一些特殊的做法,例如,有些朋友为了避免jquery和zeptojs冲突,将jquery的前缀“$”,修改为“jQuery”,还有些朋友将默认的document等方法修改。为了让你的插件在这些东西修了了的情况下照常运行,那么我们的做法是,把代码包裹在如下里面:第一种;(function($,window,document,...

2019-04-15 16:28:10 97

原创 once函数、一些初始化操作

比如我们在写框架的时候,需要给一些配置参数,也就是init操作,这时候就可以用到下面这个例子// once函数function Work(){ const init =function(){ console.log('我在执行一些初始化操作!!') } init(); return function(){ console.log('我是执行本体') }}...

2019-04-15 11:19:29 176

原创 函数节流

在开发过程好中往往为了性能考虑某些频发事件需要降低其触发频率,so:函数节流:// 第一种函数节流const throttle = function(fn,delay) { let timer = null return function() { const context = this let args = arguments if(!timer) ...

2019-04-15 11:10:19 41

原创 js柯里化——adder(1)(2,3)(5)()

1、function adder( me ) { var slice = Array.prototype.slice, args = slice.call(arguments); return function () { var inargs = slice.call(arguments); if( arguments.length ==...

2019-04-12 10:05:46 310

原创 移动端强制横屏

css@media screen and (orientation:portrait) { /*竖屏样式*/ body { transform-origin: 0 0; transform: rotateZ(90deg) translateY(-100%); }}js(function () { function resize() { v...

2019-04-11 10:55:35 507 1

原创 监听浏览器tab切换

document.addEventListener('visibilitychange',function(){ //浏览器切换事件 if(document.visibilityState=='hidden') { //状态判断 //normal_title=document.title; document.title = '点这里'; }els...

2019-04-10 16:51:43 908

原创 js之void

void操作符产生式UnaryExpression: voidUnaryExpression按如下流程解释:令expr为解释执行UnaryExpression的结果。 调用GetValue(expr). 返回 undefined.注意:GetValue一定要调用,即使它的值不会被用到,但是这个表达式可能会有副作用(side-effects)。so:functi...

2019-04-04 14:50:50 258

原创 blockly研究(二)自定义svg图形块

来更了。。这篇就大概说说如何做简单的自定义图形吧,第三篇再说自定义生成代码以及自定义校验相关以下所有截图都是mac截取的,分辨率较大,在csdn里面变形了,建议放大看其实就是捋一捋源码画图方法是用来干嘛的-1、先构建基础块 当然是去blockly提供的工厂生成自定义块,不会的可以去看第一篇教程的入门部分0、了解blockly图形化是怎么画的 1、...

2019-04-01 17:37:09 1938 10

原创 blockly研究(一)自定义菜单栏

由于最近一直比较忙,所以没有更新博客由于博主做的项目不需要舞台与模拟器的概念,所以在技术选型上也就没有选择s3等其他的图形化编程框架今天给大家带来的是blockly自定义左侧菜单栏、以及交互效果如何去加首先先看一下效果:修改之前: 修改之后:首先我们得了解blockly是什么?以及他提供的一些api、怎么用?谷歌blockly官网blockly源码某书上看到...

2019-02-22 15:53:00 2166 14

原创 手把手教你编写前端脚手架(二)

上次聊了怎么创建脚手架,这次聊聊如何搭建项目框架模板因为 下面要说的模板我已经配置好了并放到了脚手架里直接npm i  ftmay-cli -g 安装脚手架ftmay -h  查看帮助ftmay l 查看现有模板模板一:vue-cli3.0搭建的vue模板模板二:基于webpack的html多页面模板直接可以 ftmay init(输入模板名称即可) 渲染这两个...

2019-01-21 11:53:21 457

原创 手把手教你编写前端脚手架(一)

   demo已发布到npm 可直接:npm i ftmay-cli -g 进行体验   ftmay -h 获取帮助不废话直接上干货!!以下将通过借鉴别人的一个demo一步步来看如何去做一个脚手架:首先需了解以下:node.js:整个脚手架工具的根本组成部分,推荐使用最新的版本。es6:新版本的node.js对于es6的支持度已经非常高,使用es6能够极大地提升开发效率和...

2019-01-13 17:44:40 4021 2

原创 移动端click失效的问题

解决办法有 5种可供选择:​1、将 click 事件直接绑定到目标​元素(​​即 .target)上2、将目标​元素换成 a 或者 button 等可点击的​元素​3、将 click 事件委托到​​​​​非 document 或 body 的​​父级元素上​4、给​目标元素加一条样式规则 cursor: pointer;​5、$.each($(".pt_ARL_box_aside...

2019-01-05 12:47:57 3750

原创 递归解耦合

//递归解耦var factorial=function (n) { if(n<=1) return 1; else return n*arguments.callee(n-1);}//f拥有了指针位置var f=factorial;//清空factorialfactorial=null;let rs=f(3);console.log(rs); ...

2019-01-04 16:29:44 132

原创 es6之对象新增方法汇总

Object.is()ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===)。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。JavaScript 缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等。ES6 提出“Same-value equality”(同值相等)算法,用来解决这个问题。Object.is就是部...

2018-11-30 11:02:20 1962

转载 es6之对象的扩展

function getPoint() { const x = 1; const y = 10; return {x, y};}getPoint()// {x:1, y:10} CommonJS 模块输出一组变量,就非常合适使用简洁写法。let ms = {};function getItem (key) { return key in ms ? ms[...

2018-11-30 10:29:38 101

原创 es6之数组的扩展值得关注的点

扩展运算符与正常的函数参数可以结合使用,非常灵活。function f(v, w, x, y, z) { }const args = [0, 1];f(-1, ...args, 2, ...[3]);扩展运算符后面还可以放置表达式。const arr = [ ...(x > 0 ? ['a'] : []), 'b',];如果扩展运算符后面是一个空数组,则...

2018-11-28 18:53:36 82

原创 es6之尾调用的概念及其优化递归

什么是尾调用?尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。function f(x){ return g(x);}上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。以下三种情况,都不属于尾调用。// 情况一function f(x){ let y = g(x); r...

2018-11-28 16:39:26 100

原创 es6需要注意的细节

如果默认值是一个表达式,那么这个表达式是惰性求值的,即只有在用到的时候,才会求值。function f() { console.log('aaa');}let [x = f()] = [1];上面代码中,因为x能取到值,所以函数f根本不会执行。上面的代码其实等价于下面的代码。默认值可以引用解构赋值的其他变量,但该变量必须已经声明。let [x = 1, y = ...

2018-11-26 18:44:52 117

原创 sourceTree安装包以及破解说明

sourceTree安装包以及破解说明内附绕过注册说明与工具

2018-11-23 09:28:32 1009

原创 键关联数据库数据与前台所需无限层级json的相互递归转换

测试json:将层级json转为数据库存储的平级键关联数据/** * 将层级json转为数据库存储的平级键关联数据 * @param {[type]} json [description] */ function JsonToSqlArr(json) { let arr = []; function getjson(c...

2018-11-22 20:42:45 100 2

原创 大前端之路node第(3)天:mongodb数据库工具之Mongoose

mongoDB简介:mongoDB与一些关系型数据库相比,它更显得轻巧、灵活,非常适合在数据规模很大、事务性不强的场合下使用。同时它也是一个对象数据库,没有表、行等概念,也没有固定的模式和结构,所有的数据以文档的形式存储。·由c++语言编写,是一个分布式文件存储的开源NoSQL数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。· mongoDB旨在为web应用提供可扩展...

2018-11-15 18:52:17 144

原创 大前端之路node第(2)天:Express Generator搭建node项目后台

使用 Express GeneratorExpress Application Generator 能够快速创建一个Express应用框架。npm install express-generator -gexpress myapp --view=pugcd myappnpm install# Run the myapp on WindowsSET DEBUG=myapp:* ...

2018-11-14 18:19:06 258

原创 模拟生成打字(支持无数段)

一个基于type.js demo 自己写的打字多段.vue文件<template> <div class="typer"> <div class="typer-content" v-for="(itemDiv, indexDiv) in totalArray"> <!--<p class="typer-

2018-11-14 15:42:49 743

原创 H5 api之window.postMessage实现跨域窗口通信(iframe嵌入)

官网传送门我用的sublimeServer插件服务器。直接上代码!!主页面:<!DOCTYPE html><html><head> <title>Post Message</title></head><body> <div style="width:

2018-11-06 11:04:36 587 1

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