自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

转载 《javascript设计模式与开发实践》阅读笔记(6)—— 代理模式

代理模式:是为一个对象提供一个代用品或占位符,以便控制对它的访问。代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户实际上访问的是替身对象。替身对象对请求做出一些处理之后,再把请求转交给本体对象。基本可以理解为粉丝(客户),经纪人(代理),偶像(对象)。经纪人就相当于偶像的代理,需求直接提给经纪人,经纪人这边可以进行很多逻辑上的处...

2019-07-29 18:19:57 120

转载 一张图理解prototype、proto和constructor的三角关系

前面的话  javascript里的关系又多又乱。作用域链是一种单向的链式关系,还算简单清晰;this机制的调用关系,稍微有些复杂;而关于原型,则是prototype、proto和constructor的三角关系。本文先用一张图开宗明义,然后详细解释原型的三角关系图示概念  上图中的复杂关系,实际上来源就两行代码function Foo(){};var...

2019-07-29 14:56:31 113

转载 vue,打包完以后出现的问题,element的icon图标找不到,文件,图片路径问题等

在vue打包完,发现很多问题,来整理下:第一:使用element框架的icon时候,开发环境下是没有问题的,打包完以后出现小方块,页面不显示,解决办法:找到utils.js文件,加publicPath: '../../'function generateLoaders (loader, loaderOptions) { const loaders = options.u...

2019-07-26 11:29:43 1563

转载 gitlab-ci 持续集成完整实践

借着公司代码库迁移到私有Gitlab的契机,我接下持续集成的工作,实现了对Python服务端代码的单元测试、静态代码分析和接口测试的持续集成。总体架构如下:架构图执行过程: 开发提交代码后,自动触发gitlab-runner拉取executor镜像执行单元测试,单元测试代码中包含上传测试结果到x-utest测试平台; 单元测试通过后,gitlab-runner拉取son...

2019-07-24 16:53:28 499

转载 23种设计模式是哪23种?

设计模式主要分为三大类:1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。创建型模式关注对象的创建过程。2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。结构型模式关注对象和类的组织。4.行为型模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者...

2019-07-24 15:58:45 141

转载 GitBook源文件发布到gh-pages

GitBook的渲染真的很慢,我找到了它编译生成的html文件,并将它上传到了gh-page上。https://foreti.me/2018/02/04/gitbook-to-gh-pages/背景这段时间在读一本英文书,读的很慢,可以说是逐词翻译了。然而读的时候总是会忘了前面的生词是什么意思,也没有纸质打印版,所以想到边读边做笔记,主要就是生词注释一下。于是想到了GitBook。...

2019-07-22 13:46:34 396

转载 对vue的v-mode之使用

关于vue的v-model表单控件绑定,vue官网是这么说呢怎么在自己写的组件中使用v-model,比如我要自己做一个酷炫帅的下拉框这时候要扯到自定义事件,先来瞄一眼官网所说的语法糖其实我当时看完有点没懂。。哈哈首先,input是一个和change差不多的事件1.onchange在改变了input的value的条件下,失去焦点时才会触发(若change和blur事件都...

2019-07-18 11:52:28 4602 1

转载 为什么VUE注册组件命名时不能用大写的?

这段时间一直在弄vue,当然也遇到很多问题,这里就来跟大家分享一些注册自定义模板组件的心得首先“VUE注册组件命名时不能用大写“其实这句话是不对的,但我们很多人开始都觉得是对的,因为大家都踩过大写命名的坑下面我们来看个例子: 1 2 3 4 5 6 7 8 9 10 11 12 ...

2019-07-17 16:20:39 1209

转载 详解:Vue cli3 库模式搭建组件库并发布到 npm

市面上目前已有各种各样的UI组件库,比如Element和iView,他们的强大毋庸置疑。但是我们面临的情况是需求越来越复杂,当它们不能再满足我们需求的时候,这个时候就有必要开发一套属于自己团队的组件库了。所以本文的目的就是让读者能通过此文,小能做一个简单的插件供人使用,大能架构和维护一个组件库不在话下。以下一个简单的颜色选择器插件vColorPicker讲述从开发到上线到npm的流程...

2019-07-17 15:21:18 735 1

转载 Vue中创建全局组件,并且使用Vue.use() 载入。

自定义vue组件,一般是局部引用的方式载入,使用的时候,在应用的组件中使用 import moduleName from ‘module’ 导入,在components中注册<template> <div class="app-NewsInfo"> <h3>{{info.title}}</h3> <!-- 新闻评论子组件...

2019-07-17 15:19:30 1871

转载 Vue 组件中 is 标签和 ref 的使用

记录一些组件使用中的一些细节点,这些细节点平时我们可能没有太注意,但是用起来对我们的帮助还是比较大的。后面的示例中都使用如下 Vue 代码模板;<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>组件使用中的细节点</title&...

2019-07-17 14:37:06 210

转载 vue组件name的作用小结

我们在写vue项目的时候会遇到给组件命名这里的name非必选项,看起来好像没啥用处,但是实际上这里用处还挺多的? 1 2 3 export default { name:'xxx' } 1.当项目使用keep-alive时,可搭配组件name进行缓存过滤举个例子:我们有个组件命名为detail,...

2019-07-17 11:21:05 1185

转载 NPM基本操作总结

NPM官方文档写的十分良心,此篇我做一些比较常用功能的积累,有些地方是翻译,有些地方省略可以去官文看。NPM是什么?npm是世界上最大的软件注册表,npm由3个独立的部分组成:网站:开发者查找包,设置参数以及管理npm使用体验的途径 注册表(registry):是一个巨大的数据库,保存了每个包的信息 命令行工具(CLI):终端,使用者通过cli操作npmNPM可以做什么?为...

2019-07-16 16:40:07 1043

转载 vue-cli 3.0集成sass/scss到vue项目

尝鲜使用vue-cli 3.0.0-beta.6,很容易就可以完成scss到vue项目中。vue-cli 3提供了两种方式集成sass/scss:创建项目是选择预处理器sass 手动安装sass-loader创建项目选择预处理器sass$ vue create vuedemo? Please pick a preset: (Use arrow keys)> defaul...

2019-07-16 15:51:30 3124

转载 vue通信、传值的多种方式(详细)

一、通过路由带参数进行传值①两个组件 A和B,A组件通过query把orderId传递给B组件(触发事件可以是点击事件、钩子函数等)this.$router.push({ path:'/conponentsB', query: { orderId: 123 } })// 跳转到B②在B组件中获取A组件传递过来的参数this.$route.query.orderId...

2019-07-16 14:58:59 312

转载 vue之父子组件间通信实例讲解(props、$ref、$emit)

组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用。那么组件间如何通信,也就成为了vue中重点知识了。这篇文章将会通过props、$ref和 $emit 这几个知识点,来讲解如何实现父子组件间通信。在说如何实现通信之前,我们先来建两个组件father.vue和child.vue作为示例的基础。? 1 2 ...

2019-07-16 14:49:09 193

转载 vue之component

因为组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如 data、computed、watch、methods 以及生命周期钩子等。仅有的例外是像 el 这样根实例特有的选项。组件基础:全局组件:可以在任何(根)实例中使用的组件;局部组件:只能在某一实例中使用的组件:一、定义全局组件和局部组件的两种方法:方法一:定义一个全局组件和局部组件全局组件...

2019-07-16 14:17:32 1530

转载 Git远程推送时记住用户名和密码

当使用HTTPS协议推送代码到Git仓库时,发现每次都需要输入密码,操作起来非常麻烦。下面介绍几种免去输入密码的方法。HTTPS协议推送使用HTTPS协议,有一种简单粗暴的方式是在远程地址中带上密码。> git remote set-url origin http://yourname:password@bitbucket.org/yourname/project.git...

2019-07-12 15:24:57 604

转载 前端 100 问:能搞懂80%的请把简历给我

引言半年时间,几千人参与,精选大厂前端面试高频 100 题,这就是「壹题」。在 2019 年 1 月 21 日这天,「壹题」项目正式开始,在这之后每个工作日都会出一道高频面试题,主要涵盖阿里、腾讯、头条、百度、网易等大公司和常见题型。得益于大家热情参与,现在每道题都有很多答案,提供的解题思路和答案也大大增长了我的见识,到现在已累积 100 道题目,『 8000+ 』Star 了,可以说你面试...

2019-07-12 11:00:22 184

转载 四大开源协议比较:BSD、Apache、GPL、LGPL

 本文参考文献:http://www.fsf.org/licensing/licenses/  现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种。我们现在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。  这里我们来看四种最常用的开源协议及它们的适...

2019-07-10 16:04:54 1068

转载 Hexo + yilia 搭建博客可能会遇到的所有疑问

前提为什么会再次写这篇博客?请看下图:<!-- more -->这是我博客搜索引擎的主要关键字。为什么会有这些关键字呢?我猜估计是曾经写了几篇关于搭建博客的文章,被搜索引擎收入了,所以搜索引擎才会将这些流量引导至我的博客,文章如下:1、利用Github Page 搭建个人博客网站2、Hexo + yilia 主题实现文章目录3、Github pages +...

2019-07-10 11:12:57 186

转载 github 安装浏览器导航插件Octotree

Octotree能够读取github目录内容在右侧显示导航栏,可以方便阅读,不用再点来点去的进行阅读了。Octotree分为普通版和专业版,我们用用普通版就行了因为是免费的。Octotree支持的浏览器:Chrome, Firefox, Opera ,Safari安装方式可以访问地址:https://github.com/ovity/octotree在没装Octotree...

2019-07-09 14:14:35 565

转载 js创建对象的几种方式(工厂模式、构造函数模式、原型模式)

1.工厂模式  考虑到在 ECMAScript 中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节,如下面的例子所示:  function createPerson(name,age,job){    var o = new Object();    o.name = name;    o.age = age;    o.job = job; ...

2019-07-05 17:33:45 149

转载 JavaScript构造函数与 new 命令

JavaScript 语言具有很强的面向对象编程能力,本章介绍 JavaScript 面向对象编程的基础知识。1、对象是什么面向对象编程(Object Oriented Programming,缩写为 OOP)是目前主流的编程范式。它将真实世界各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。每一个对象都是功能中心,具有明确分工,可以完成接受信息、处理数...

2019-07-05 11:26:31 106

转载 视差滚动的原理及实现

1.视差滚动视差滚动(Parallax Scrolling)指网页滚动过程中,多层次的元素进行不同程度的移动,视觉上形成立体运动效果的网页展示技术。2.特性视差滚动效果酷炫,适合于个性展示的场合。视差滚动徐徐展开,适合于娓娓道来,讲故事的场合。视差滚动容易迷航,需要具备较强的导航功能。3.原理传统的网页的文字、图片、背景都是一起按照相同方向相同速度滚动的,而视差滚动则是...

2019-07-04 16:10:14 1373

转载 JavaScript 观察者模式 (通俗易懂)

观察者模式又叫做发布-订阅模式。这是一种一对多的对象依赖关系,当被依赖的对象的状态发生改变时,所有依赖于它的对象都将得到通知。生活中的观察者模式就如我们在专卖店预定商品(如:苹果手机),我们会向专卖店提交预定申请,然后店家受申请,正常这样就完事了。假如,近段时间苹果手机的需求很大,而商品有限,那么商家就会要这些果粉预留电话等待通知,等到手机一到,商家就会遍历果粉预留信息,然后发通知给这些果粉...

2019-07-04 15:41:26 121

转载 react和vue开发规范文档

前端通用规范文档,猛戳这里一.react一般规范1.基本结构(使用mobx)├── build 构建脚本目录│ ├── css 打包生成的css目录│ ├── js 打包生成的js目录│ ├──assets 打包生成的静态文件目录│ ├── index.html 运行本地构建服务器,可以访问构后的页面├── package.json npm包配置文件,里面定义了项目的npm脚...

2019-07-03 18:52:45 320

转载 对于跨站脚本攻击(XSS攻击)的理解和总结

XSS攻击XSS攻击是什么XSS是跨站脚本攻击的缩写,是一种网站应用程序的安全漏洞攻击,是代码注入的一种。 通常是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。 这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。 攻击成功后,...

2019-07-02 17:14:51 1107

转载 前端防范xss攻击的实用方案

一、xss攻击原理大家想必都听过xss攻击,那么这个xss到底是如何攻击、我们又应该如何防范的呢?xss攻击主要是针对表单的input文本框发起的,比如有这样一个文本框:xss攻击图1在说明一栏填入一段js代码,如果前端不进行过滤直接提交到后端(比如php),而php端也没有进行过滤直接入库,那么在下一个展示页面,就会发生这样的情况:xss攻击图2为什么会酱紫呢?...

2019-07-02 17:09:31 1265

转载 JavaScript内存泄露的4种方式及如何避免

简介内存泄露是每个开发者最终都要面对的问题,它是许多问题的根源:反应迟缓,崩溃,高延迟,以及其他应用问题。什么是内存泄露?本质上,内存泄露可以定义为:应用程序不再需要占用内存的时候,由于某些原因,内存没有被操作系统或可用内存池回收。编程语言管理内存的方式各不相 同。只有开发者最清楚哪些内存不需要了,操作系统可以回收。一些编程语言提供了语言特性,可以帮助开发者做此类事情。另一些则寄希望于...

2019-07-02 11:46:14 126

转载 彻底搞懂JS闭包各种坑

闭包是js开发惯用的技巧,什么是闭包?闭包指的是:能够访问另一个函数作用域的变量的函数。清晰的讲:闭包就是一个函数,这个函数能够访问其他函数的作用域中的变量。eg:function outer() { var a = '变量1' var inner = function () { console.info(a) } retur...

2019-07-02 11:44:13 133

转载 为什么说对象字面量赋值比new Object()高效?

虽然平时都是以对象字面量来初始化js变量的,即var obj={};也没有去具体去纠结为什么这样就比var obj=new Object();来的好就直接在chrome上做了个对比试验,结果如下:网上别人的解释,个人觉得能理解的:{}是字面量,可以立即求值,而new Object()本质上是方法(只不过这个方法是内置的)调用,既然是方法调用,就涉及到在proto链中遍历该方法,...

2019-07-02 10:27:42 197

symbian 视频播放源码

symbian的视频播放源码,有兴趣的可以下载。

2008-09-11

空空如也

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

TA关注的人

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