- 博客(38)
- 收藏
- 关注
原创 vue中addRouter的种类
路由钩子总体来讲vue里面提供了三大类钩子1、全局钩子2、某个路由独享的钩子3、组件内钩子1.全局钩子const router = new VueRouter({ mode: 'history', base: __dirname, routes: routerConfig})router.beforeEach((to, from, next) => { ...
2018-03-22 15:23:04
3220
转载 JS的dom对象
1.认识DOM文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。先来看看下面代码:将HTML代码分解为DOM节点层次图:HTML文档可以说由节点构成的集合,DOM节点有:1. 元素节点:上图中<html>、<body>、<p>等都是元素节点,即...
2018-02-09 22:17:38
314
原创 vue知识点
Velocity 是一个简单易用、高性能、功能丰富的轻量级JS动画库。它能和 jQuery完美协作,并和$.animate()有相同的 API,但它不依赖 jQuery,可单独使用。 Velocity不仅包含了 $.animate()的全部功能,还拥有:颜色动画、转换动画(transforms)、循环、 缓动、SVG动画、和 滚动动画 等特色功能。 表单输入和应用状态之
2018-01-23 18:14:30
507
原创 vsCode常用快捷键和Ement快速编写命令
主命令框F1 或 Ctrl+Shift+P: 打开命令面板。在打开的输入框内,可以输入任何命令,例如:按一下 Backspace 会进入到 Ctrl+P 模式在 Ctrl+P 下输入 > 可以进入 Ctrl+Shift+P 模式在 Ctrl+P 窗口下还可以:直接输入文件名,跳转到文件? 列出当前可执行的动作! 显示 Errors或 Warnings,也可以 Ctr
2018-01-23 18:11:52
3031
原创 简单易用、高性能、功能丰富的轻量级JS动画库Velocity.js
优点:Velocity.js能和 jQuery 完美协作,并和$.animate()有相同的 API, 但它不依赖 jQuery,可单独使用。 Velocity 不仅包含了 $.animate() 的全部功能, 还拥有:颜色动画、转换动画(transforms)、循环、 缓动、SVG 动画、和 滚动动画 等特色功能。它比 $.animate() 更快更流畅,性能甚至高于 CSS
2018-01-23 15:20:37
1554
原创 正则表达式的知识点分类汇总
\ 做为转意量词:* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa (+和?)+ 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa ? 匹配前面元字符0次或1次,/ba*/将匹配b,ba {n} 精确匹配n次 {n,} 匹配n次及以上,至少 {n,m} 匹配n到m次 x|y 匹配x或y [xyz] 字符集(characte
2017-10-19 16:00:42
309
原创 javascript实现二叉树的创建,遍历,添加,查找最大值最小值和指定值的寻找及删除功能——递归的多次运用
树是计算机科学中经常用到的一种数据结构。树是一种非线性的数据结构,以分成的方式存储数据,树被用来存储具有层级关系的数据,比如文件系统的文件,树还被用来存储有序列表。我们要研究的是二叉树,在二叉树上查找元素非常快,为二叉树添加元素或者删除元素,也是非常快的。我们现在最主要的是要来学习二叉树,二叉树是一种特殊的树,它的特征是 子节点个数不超过2个。如下图就是二叉树的基本结构示意图如下:
2017-10-17 10:32:47
1429
转载 es5新增数组方法
一、前言-索引ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了。ES5中新增了写数组方法,如下:forEach (js v1.6)map (js v1.6)filter (js v1.6)some (js v1.6)every (js v1.6)indexOf (js v1.6)lastIndex
2017-10-16 14:43:48
658
原创 js插件之$.extend()、$.fn和$.fn.extend()区别
jQuery为开发插件提拱了两个方法,分别是:原文来自:http://caibaojian.com/jquery-extend-and-jquery-fn-extend.htmljQuery.fn.extend();jQuery.extend(); jQuery.fn = jQuery.prototype;$(“#btn1″) 会生成一个 jQuery类的实例,即可
2017-01-11 10:05:01
4959
原创 gulp前端构建工具知识点及深析,弄懂gulpfile.babel.js的每行代码
gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快。如果你还没有使用过前端构建工具,或者觉得gruntjs太难用的话,那就尝试一下gulp吧。1、gulp的安装首先确保你已经正确安装了nodejs环境。然后以全局方式安装gulp:npm install
2016-04-13 18:14:44
8624
1
转载 store.js - 轻松实现本地存储(LocalStorage)
store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要借助 Cookie 或者 Flash。store.js 会根据浏览器自动选择使用 localStorage、globalStorage 或者 userData 来实现本地存储功能。 store.js 提供非常简洁的 API 来实现跨浏览器的本地存储功能:store.se
2016-03-09 10:14:53
703
转载 js Date日期格式化方法
方法一:这个很不错,好像是 csdn 的 Meizz 写的: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).F
2016-03-08 16:50:08
2091
原创 css中em,rem的解析成px的原理及混用场景
em 单位如何转换为像素值:根元素的字体大小例如,如果一个div有18px字体大小,10em将等同于180px,即10 × 18 = 180。CSS设置padding为10em浏览器解析出来的值为180px(或接近它)rem 单位如何转换为像素值所得的像素值=根元素html font-size(默认是16)*rem值
2016-03-08 11:40:48
2639
原创 javacript use strict 严格模式作用及深析
严格模式(strict mod)的作用:Strict mode是JavaScript1.8.5引进的技术,今天,所有主流的浏览器都在他们的最新版本中支持了严格模式(包括IE10,Opera12和Android4,IOS5)是时候开始使用严格模式了。严格模式的一大目标是让你能更快更方便的调试。运行环境在发现问题时显性的抛出错误比默不做声的失败或怪异行事(未开启严格模式的JavaScript运行环
2016-03-07 15:09:42
794
原创 关于jQuery.extend 函数深析
jquery 的extend是继承的方法。主要有从以下三个方面来理解它的用法:一、合并对象属性extend(dest,src1,src2,src3...);它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的。如果想要得到合并的结果却又不想修改dest的结构,可以如下使用: var n
2016-03-07 14:09:25
464
转载 jQuery的deferred对象深析
从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax。为了实现它,jQuery的全部ajax代码都被改写了。但是,它比较抽象,初学者很难掌握,网上的教程也不多。所以,我把自己的学习笔记整理出来了,希望对大家有用。本文不是初级教程,针对的读者是那些已经具备jQuery使用
2016-03-05 21:13:01
294
原创 jquery中remove(),detach()和empty()的区别
remove([expr])和detach()都是将指定的节点删除掉,会将其子孙节点全部移除掉,包括自己自身的节点元素。而empty()则是清空节点里面的内容和子孙节点全部删除,但是自身的节点html还会保留。例:HelloWorldwelcome 执行$("p").empty()其结果是World 执行$("p").remove()其结果是Worl
2016-03-05 19:42:12
473
转载 jQuery插件开发
软件开发过程中是需要一定的设计模式来指导开发的,有了模式,我们就能更好地组织我们的代码,并且从这些前人总结出来的模式中学到很多好的实践。根据《jQuery高级编程》的描述,jQuery插件开发方式主要有三种:通过$.extend()来扩展jQuery通过$.fn 向jQuery添加新的方法通过$.widget()应用jQuery UI的部件工厂方式创建通常我们使用第二种方法
2016-02-23 18:15:21
383
转载 ES6新特性概览
本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用。ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了)。上一次标准的制订还是2009年出台的ES5。目前ES6的标准化工作正在进行中,预计会在14年12月份放出正式敲定的版本。但大部分标准
2016-02-23 18:12:42
525
转载 前端开发
本文总结了一些常见前端面试(多数源于网络),希望阅后也要用心钻研其中的原理,重要知识需要系统学习,透彻学习,形成自己的知识链。万不可投机取巧。只求当时过关,非长久之计也!面试有几点需要注意:(来源程劭非老师 Github:@wintercn | Weibo:寒冬winter)面试题目: 根据你的等级和职位变化,入门级到专家级:范围↑、深度↑、方向↑。题目类型: 技术
2016-02-23 16:00:15
627
原创 css 页面重绘和回流(重排)以及优化
一、html页面的呈现流程1. 浏览器把获取到的HTML代码解析成1个DOM树,HTML中的每个tag都是DOM树中的1个节点,根节点就是我们常用的document对象。DOM树里包含了所有HTML标签,包括display:none隐藏,还有用JS动态添加的元素等。2. 浏览器把所有样式(用户定义的CSS和用户代理)解析成样式结构体,在解析的过程中会去掉浏览器不能识别的样式,
2016-02-19 11:03:57
11084
1
转载 window.open与document.open的区别
完全不同的两个东西.window.open() 是打开一个窗口,返回这个窗口的名称;document.open()功能:方法打开一个新文档,并擦除当前文档的内容。该方法打开新文档为 write() 和 writeln() 的输出做准备。语法:document.open(mimetype,replace)参数:· mimetype:可选。规定正在
2016-02-18 17:12:36
2027
转载 Git的深入理解与GitHub托管服务的使用
源代码管理系统(SCM)与版本控制版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。本地版本控制系统许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间进行区别。这么做的唯一好处就是简单,坏处也不少:有时候会混淆所在的工作目录,一旦弄错了文件数据就没办法撤销恢复。为了解决这个问题,人们很久以前就开发了许多本地版本控制
2016-02-17 15:25:34
581
原创 JSONP以及jQuery对JSONP的实现
JSONP是怎么产生:1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响(不仅如此,我们还发现凡是拥有"src"这个属性的标签都拥有跨域的能力,比如、、);3、于是可以判断,当前阶段如果想通过纯web端(Ac
2016-02-16 17:45:16
506
原创 顶级域名(一级域名)、子域名、二级域名的区别和联系
顶级域名以.com,.net,.org,.cn等等属于国际顶级域名,根据目前的国际互联网域名体系,国际顶级域名分为两类:类别顶级域名(gTLD)和地理顶级域名(ccTLD)两种。类别顶级域名是以"COM"、"NET"、"ORG"、"BIZ"、"INFO"等结尾的域名,均由国外公司负责管理。地理顶级域名是以国家或地区代码为结尾的域名,如"CN"代表中国,"UK"代表英国。地理顶级域名一般由各个国家或
2016-02-16 16:13:38
17747
原创 关于jquery的事件委托-bind,live,delegate,on的区别发展
事件委托:让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!.bind()只能给调用它的时候已经存在的元素绑定事件,不能给未来新增的元素绑定事件。jQuery 1.3新增的.live()方法代替.bind()方法。live()方法会把click事件绑定到$(document)对象,生成不必要的jQuery对象,导致性能损失;(function($){$("#info_t
2016-02-15 11:55:26
3476
原创 js中数组(Array)重排序方法深析
直接用来重排序的方法: reverse() 和 sort()reverse() 是从后往前直接颠倒顺序,但不够灵活 sort() 方法按升序排列数组项——即最小的值位于最前面,最大的值排在最后面。为了实现排序, sort() 方法会调用每个数组项的 toString() 转型方法,然后比较得到的字符串,以确定如何排序。即使数组中的每一项都是数值, sort() 方法比较的也是字
2016-02-15 11:25:32
532
原创 关于js中函数的闭包 深入了解
闭包就是能够读取其他函数内部变量的函数。即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。也就是说,内部函数会在外部函数返回后被执行。而当这个内部函数执行时,它仍然必需访问其外部函数的局部变量、参数以及其他内部函数。这些局部变量、参数
2016-02-14 15:09:31
6627
1
原创 js实现继承的方法
一、构造函数绑定使用call或apply方法,将父对象的构造函数绑定在子对象上,即在子对象构造函数中加一行:function Cat(name,color){ Animal.apply(this, arguments);//this对象继承了animal对象 this.name = name; this.color = color; } var cat1 =
2016-02-14 14:53:04
394
原创 setTimeout的作用域以及this的指向问题
setTimeout方法是挂在window对象下的。《JavaScript高级程序设计》第二版中,写到:“超时调用的代码都是在全局作用域中执行的,因此函数中this的值在非严格模式下指向window对象,在严格模式下是undefined”。在这里,我们只讨论非严格模式。setTimeout接受两个参数,第一个是要执行的代码或函数,第二个是延迟的时间。一、先说结论:setTimeou
2016-02-04 14:59:03
2000
原创 js 创建对象的几种方法总结
js是一门面象对象的语言,虽然Object 构造函数(直接new Object())或对象字面量(直接用{})都可以用来创建单个对象,但是会产生大量的重复代码,下面总结了几种创建对象的方法。1 工厂模式例:function createPerson(name, age, job){var o = new Object();o.name = name;o.age = age;o.
2016-01-14 18:10:59
404
原创 JavaScript 函数replace参数灵活运用
在JavaScript中replace函数作为字符串替换函数,这是一个威力强大的字符串操作函数,对于常见字符串操作的推荐用法。这篇随笔就来更加深入的理解它。 replace函数接受两个参数,第一个参数为字符串或正则表达式,第一个参数同样可以接受一个字符串,还可能是一个函数。 首先对于第一个参数为字符串的我们不再需要多说"I am a boy".replace(
2016-01-13 11:11:17
523
原创 js 基本类型和引用类型 变量复制 参数传递
ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段( Undefined 、 Null 、 Boolean 、 Number 和 String 。这 5 种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值。),而引用类型值指那些可能由多个值构成的对象(引用类型的值是保存在内存中的对象, 在操作对象时, 实际上是在操作对象
2016-01-12 15:46:36
2423
原创 js函数的参数深析
js函数参数与其它语言的参数有所不同,js函数不介意传递进来多少个参数(可以多传也可以少传甚至可以不传),也不介意传进来参数的数据类型。原因:js函数的参数在内部是用一个数组来表示的,可以通过arguments对象来访问这个参数数组。参数访问方法:第一个参数arguments[0],第二个参数arguments[1],以此类推arguments.length确定实际传递进来的参数个数f
2016-01-12 14:52:51
577
原创 js深拷贝和浅拷贝
所谓"深拷贝",就是能够实现真正意义上的数组和对象的拷贝,只是拷贝基本类型的数据,我们把这种拷贝叫做"浅拷贝"一、数组的深浅拷贝在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份,事实证明如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致了问题的发生。var arr = ["One","Two","Three
2016-01-07 16:08:25
385
原创 javaScript表单验证大全
1. 长度限制function test(){if(document.a.b.value.length>50){alert("不能超过50个字符!");document.a.b.focus();return false;}}2. 只能是汉字3." 只能是英文function onlyEng(){if(!
2016-01-06 14:58:32
656
原创 彻底明白JavaScript中的标签语句
使用情景:给一希语句起一个名字,即给一个语句加标签,这样在程序的任何地方都可以使用这个名字来引用它,可以标记任何语句,但是被标记的语句通常是那些循环语句,即while、do/while、for和for/in语句,通常给循环命名,就可以使用break语句和continue语句来退出循环或者循环的某一次迭代。label1:myFun1();label2:{
2016-01-06 11:51:51
6622
原创 web前端面试题总结
HTML+CSS什么是web标准,起到些什么作用,如何理解W3C组织制定的标准(1)web标准规范要求,书写标签必须闭合、标签小写、不乱嵌套,可提高搜索机器人对网页内容的搜索几率。--- SEO(2)建议使用外链css和js脚本,从而达到结构与行为、结构与表现的分离,提高页面的渲染速度,能更快地显示页面的内容。(3)样式与标签的分离,更合理的语义化标签,使内容能被更多的用户所访问、
2015-12-23 17:56:49
1955
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人