- 博客(24)
- 收藏
- 关注
原创 vue 练习(prop、emit、watch)-数字输入框
“` 数字输入框 function isValueNumber(value){ return (/(^-?[0-9]+.{1}\d+)|(−?[1−9][0−9]∗)|(−?[1−9][0−9]∗)|(^-?[1-9][0-9]*)|(^-?0{1}$...
2018-06-08 12:05:06 838
原创 vue基础知识练习-购物车
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content=&a
2018-06-08 10:45:58 234
原创 vue-组件
vue组件全局注册:<body> <div id='app'> <my-component></my-component> </div> <script src="http://cdn.bootcss.com/vue/2.1.10/vue.js"></script&
2018-06-01 18:08:32 229
原创 vue - slot
slot:父组件中的内容代替了子组件中的 slot 标签,使得我们可以在 不同地方使用子组件的结构而且填充不同的父组件内容。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" con
2018-05-31 17:34:25 229
原创 es6-函数
箭头函数:var reflect = function(value){ return value;};var reflect = value=>value;var sum = (num1,num2)=>num1+num2;//如果函数没有任何参数,声明时必须使用一对空括号var getName=()=>"guanguan";//使用函数体或多个...
2018-05-16 18:15:47 268
原创 es6-模块
export 导出:export const name = 'guanguan';export function sum (num1,num2){ return num1+num2; }function multi(num1,num2){ return num1*num2; }export {multi};import 导入:...
2018-05-16 17:24:24 94
原创 es6—set map
set:没有重复值的有序列表let set = new Set();set.add(5);set.add('5');console.log(set); let key1={},key2={};set.add(key1);set.add(key2);console.log(set.size);let set = new Set([1,2,3,2,3,4,5]);cons...
2018-05-16 15:08:50 124
原创 es6—类
es5中的类:function PersonType(name){ this.name=name; }PersonType.prototype.say=function(){ console.log(this.name); } let person = new PersonType('guanguan'); person.say();//'guangu...
2018-05-16 13:37:12 135
原创 es6——解构赋值
1.对象解构赋值:let person={name:'guanguan',age:25};let {name,age}=guanguan;name;//"guanguan"age;//25//注:用let,var,const,声明解构赋值时,必须提供等号右侧的值(1)默认值let person={name:'guanguan',age:25};let {name,age,...
2018-05-15 20:12:09 137
原创 js设计模式之观察者模式
观察者模式又叫做发布-订阅模式,主要功能就是解耦。 有一个实际需求,在新闻评论模块, 当我们发布评论时,会在展示评论末尾处追加最新评论,同时消息模块的消息数量也会增加,删除评论留言区的评论时,消息模块数量相应的减少。 但是在项目开发中,往往不同模块由不同的人开发,消息模块,评论模块分别由不同的人开发。这个时候不想将几个独立的模块整合在一起,可以用观察者模式。 下面我...
2018-04-03 14:36:16 144
原创 js设计模式之命令模式
命令模式就是将创建模块的逻辑封装在一个对象里,这个对象提供一个参数化的请求接口,通过调用这个接口并传递一些参数实现调用命令对象内部中的方法。现在我们需要做一个活动页面,平铺结构,比如每个预览产品图片区域,有一行标题,标题下面是产品图片,只是图片数量和排列不同。//模块实现模块 var viewCommand=(function(){ var tpl={ //展示图片结...
2018-03-25 20:53:37 161
原创 js设计模式之模板方法模式
模板方法模式:父类定义一个基本的操作算法骨架,而将一些具体的实现步骤延迟在子类中,使得子类不要改变父类的算法结构可以实现一些拓展功能。创建基本提示框var Alert = function(data){ //如果没有数据则返回,防止后面程序执行 if(!data) return; this.content=data.content; //创建...
2018-03-25 13:43:39 147
原创 js设计模式之桥接模式
桥接模式主要是将实现层(元素绑定的事件)与抽象层(修饰页面的ui逻辑)解耦 例如: 管管赤脚不害怕 等级1 消息5 先在要实现鼠标移动上去有hover的效果,那么我们一步一步实现:function g(tag){ return document.getElementByTagName(tag);}var spans=g('span...
2018-03-23 12:34:12 231
原创 js设计模式之装饰者模式
装饰着模式:对原有对象进行包装,不改变原有对象的基础上,满足新的需求。 应用场景:比如现在有用户输入表单,电话输入框,地址输入框等等,新需求是默认输入框显示一行提示文案,用户点击输入框时文案消失。var input=docuemnt.getElementById('tel-input);//输入框元素var warnText=docuemnt.getElementById('tel-w...
2018-03-23 11:11:20 117
原创 js设计模式之适配器模式
适配器模式往往用于适配两个接口不兼容的问题,在js中应用更为广泛,比如适配两个代码库、适配前后端数据。 1.参数适配比如某个方法中需要传入多个参数function doSomething(name,title,age,type,color,size){}记住这些参数顺序很难,所以我们经常是以一个参数的形式传进去obj.name:nameobj.title:titleobj.ag...
2018-03-23 10:25:48 133
原创 js设计模式之外观模式
外观模式其实就是提供一个更高级的统一的接口,常用于处理兼容性统一或者封装,比如,处理绑定事件,下面以下两个例子为例: 1. 封装绑定事件:function addEvent(dom,type,fn){ if(dom.addEventListener){ dom.addEventListener(type,fn,false) } else if(dom.at...
2018-03-23 09:24:07 208 1
原创 js常见算法-----数组去重,查找字符串出现次数最多字符,
数组去重:思路:1.创建一个新的数组存放结果2.创建一个空对象3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入到第2步建立的对象中。说明:至于如何对比,就是每次从原数组中取出一个元素,然后到对象中去访问这个属性,如果能访问到值,则说明重复。Array.p
2017-08-03 11:44:09 2173
原创 数据结构与算法-----排序算法
冒泡排序:function bubbleSort(arr) {var len =arr.length,termp;for (vari = len - 1; i > 0;i--) {for (varj = 0; j i; j++) {if (arr[j] >arr[j + 1]) {var temp =arr[j];arr[
2017-08-02 11:36:39 188
原创 深拷贝
function deepClone(initalObj, finalObj) { var obj = finalObj || {}; for (vari in initalObj) { if (typeofinitalObj[i] ==='object') {obj[i] = (initalObj[i].constructor ===Array)
2017-07-17 15:29:19 186
原创 js数据结构和算法----链表
var LinkdeList=function(){var Node=function(element){this.element=element;this.next=null;};var length=0;var head=null;// 向链表尾部追加元素this.append=function(element){var node=new Node(el
2017-07-04 14:34:23 186
原创 js数据结构预算法——队和栈
function Queue (){var items = [];this.enqueue=function (element){items.push(element);};this.dequeue=function (){return items.shift();};this.front=function(){return items[0];};thi
2017-07-04 14:32:10 209
原创 js语言精粹之值和引用
var a=2;var b=a;//b是a的一个副本b++;a;//2b;//3基本数据类型是值复制var c=[1,2,3,4];var d=c;//d是[1,2,3,4]的一个引用d.push(5);c;//[1,2,3,4,5]d;//[1,2,3,4,5]复合类型是引用复制c和d分别指向一个[1,2,3,4]的两个不同的引
2017-07-04 10:45:37 129
原创 js语言精粹之特殊数值
1不是数值的值:null:空值或者曾赋值过但目前没有值undefined:没有值 定义了但没有赋值;标识符,可以当做变量来 使用void:var a=42;console.log(void a ,a);//undefined,422特殊的数字:var a=2/'foo';//NaNtypeof a==="number"//trueNaN和任何值都不相等,包括自身
2017-07-04 09:45:07 168
原创 js数据结构与算法之——数组基本用法
数组创建方式: var arr=new Array(); var arr=new Array(10); var arr=new Array(1,2,3,4,7,9,); var arr=[];数组的常用方法:队尾
2017-07-03 08:33:18 352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人