js
CURRY_zhao
风已住,用技能改变生活
展开
-
图片上传的方法总结
转换base64为文件流convertBase64UrlToBlob(urlData) { var arr = urlData.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n=bstr.length, u8arr = new Uint8Array(n); while(n--) { u8ar...原创 2019-01-25 10:46:22 · 271 阅读 · 0 评论 -
js判断变量是否为null(1)
我们在进行判断时,有时会判断获取到的对象是否为空值,JS变量值的特殊性,容易犯一些错。先上一些不正确的判断用法var exp = null;if (exp == null) {alert("is null");}exp 为undefined时,也会得到与null相同的结果,虽然null和undefined不一样。var exp = null;if (!exp)原创 2017-02-17 11:30:08 · 5946 阅读 · 0 评论 -
JS函数调用解析小例子(1)
JS函数嵌套,内部怎么用,一般容易想错。想要更好的了解运行机制就必须用计算机的思维去思考函数。如果不全身心投入进去用计算机思维思考,只能执手相看泪眼,竟无语凝噎!马上举例:function doSomething(a) {function doSomethingElse(a) {return a - 1;}var b;b = a + doSomethingElse(a原创 2017-02-08 14:44:26 · 417 阅读 · 0 评论 -
JavaScript ES6解构赋值指南
前言让我们来仔细地看看ES6所带来的更清晰的变量声明与赋值语法。现今的变量声明语法十分的直接:左边是一个变量名,右边可以是一个数组:[]的表达式或一个对象:{}的表达式,等等。解构赋值允许我们将右边的表达式看起来也像变量声明一般,然后在左边将值一一提取。听起来有点迷糊?让我们一起看看下面的例子就好。数组的解构赋值现在假设我们有一个value变量,其值为[1, 2, 3,转载 2016-12-19 14:55:19 · 426 阅读 · 0 评论 -
JavaScript中的纯函数
什么是“纯函数”纯函数是指 不依赖于且不改变它作用域之外的变量状态 的函数。也就是说, 纯函数的返回值只由它调用时的参数决定 ,它的执行不依赖于系统的状态(比如:何时、何处调用它——译者注)。纯函数是 函数式编程 的一个基础。来看一些例子:var values = { a: 1 };function impureFunction ( items )转载 2016-12-15 17:01:13 · 516 阅读 · 0 评论 -
JavaScript易错知识点整理
前言本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES6的知识点。JavaScript知识点1.变量作用域var a = 1;function test() { var a = 2; console.log(a);转载 2016-12-08 10:05:35 · 349 阅读 · 0 评论 -
组件与组件之间的通信以及vue2.0中的变化、示例
一、开始第一个DEMO,其中一个功能需求--组件与组件之间作用域里,但又需要传递数据。例如:App.vue为父组件,有子组件A.vue、B.vue1.App的数据传递给A、B2.A、B的数据传递给App3.A、B数据相互传递解决以上需求的思路如下:1.App通过props传递数据给A、B2.A、B通过$dispatch调用App的Event并传递数据给App转载 2016-12-07 18:53:29 · 16997 阅读 · 0 评论 -
vuex是做什么的
组件之间的作用域独立,而组件之间经常又需要传递数据。A为父组件,下面有子组件B和C。A的数据可以通过props传递给B和C。A可以通过$broafcast调用B和C的events,从而操作B和C的数据。B和C可以通过$dispatch调用A的events,从而操作A的数据当B需要操作C的数据就会比较麻烦,需要先$dispatch到A,再$broadcas转载 2016-11-25 10:03:37 · 2754 阅读 · 1 评论 -
Vue中你不知道但却很实用的黑科技
作者:Aresn链接:https://zhuanlan.zhihu.com/p/24173419来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最近数月一直投身于 iView 的开源工作中,完成了大大小小 30 多个 UI 组件,在 Vue 组件化开发中积累了不少经验。其中也有很多带有技巧性和黑科技的组件,这些特性有的是 Vue 文档中提到转载 2016-12-06 10:27:21 · 18712 阅读 · 0 评论 -
mapGetters工具函数
来自https://vuefe.cn/vuex/getters.html#mapGetters-工具函数mapGetters工具函数会将store中的getter映射到局部计算属性中。import {mapGetters} from ‘vuex’export default{computed:{...mapGetters([//使用对象扩展操作符把getter混入到comp转载 2016-11-23 16:05:55 · 20732 阅读 · 0 评论 -
简约而不简单的六个ES6新特性
By David Walsh on October 31, 2016Translated by Jemair on March 5, 2017Javascript社区中,每个人都热衷于拥抱JS提供的各种新的API、语法和特性 —— 它们使我们能够更高效,更智能地编写代码。ES6带来了一大波新的好东西,在过去的一年里,浏览器厂商努力工作,将这些语言更新到他们的浏览器中。虽然这次JS提转载 2017-03-09 11:05:24 · 491 阅读 · 1 评论 -
Six Tiny But Awesome ES6 Features
Everyone in the JavaScript community loves new APIs, syntax updates, and features -- they provide better, smarter, more efficient ways to accomplish important tasks. ES6 brings forth a massive wave转载 2017-03-09 11:16:40 · 340 阅读 · 0 评论 -
卡号脱敏js处理
let accountNo = ‘123456789123456789’accountNo.substr(0,3) + ‘******’ + accountNo.substr(accountNo.length - 3)保留前三位后三位。原创 2018-10-26 10:50:42 · 4050 阅读 · 0 评论 -
单点登录的问题理解
单点登录:单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。实现方式:待整理...原创 2018-07-25 16:08:50 · 797 阅读 · 0 评论 -
ES6中for…of与for…in的区别
都是循环,二者的区别在哪 参考:http://es6.ruanyifeng.com/#docs/iterator 1. for…of循环可以代替数组实例的forEach方法,不同于forEach方法,它可以与break、continue和return配合使用。 2. for…in循环主要是为遍历对象而设计的,不适用于遍历数组。 3. JavaScript 原有的for…in循环,只能...原创 2018-07-24 17:28:03 · 7294 阅读 · 1 评论 -
使用moment.js
使用moment.js处理时间格式。原创 2018-04-12 18:53:52 · 339 阅读 · 0 评论 -
JS ES7标准学习
参考:http://es6.ruanyifeng.com/#docs/decorator https://zhuanlan.zhihu.com/p/304870771.引入async:Generator函数的语法糖,返回一个Promise对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再执行函数体内后面的语句原创 2018-02-07 17:11:45 · 1785 阅读 · 0 评论 -
JS内存泄漏教程
参考:http://www.ruanyifeng.com/blog/2017/04/memory-leak.html 一、内存泄露 程序的运行需要内存。只要程序提出要求,操作系统或者运行时就必须供给内存。 对于持续运行的服务进程,必须及时释放不再用到的内存。否则,内存占用越来越高。轻则影响系统性能,重则导致进程崩溃。 不再用到的内存,没有及时释放,就叫做内存泄漏。 二、垃圾回收机制 大...原创 2018-02-09 16:29:23 · 225 阅读 · 0 评论 -
事件处理器中经常需要调用 event.preventDefault() 或 event.stopPropagation()
在事件处理器中经常需要调用 event.preventDefault() 或 event.stopPropagation()。尽管我们在方法内可以轻松做到,不过让方法是纯粹的数据逻辑而不处理 DOM 事件细节会更好。为了解决这个问题,Vue.js 为 v-on 提供两个 事件修饰符:.prevent 与 .stop。你是否还记得修饰符是点号打头的指令后缀?原创 2016-10-10 15:38:37 · 810 阅读 · 0 评论 -
妙用ES6解构和扩展运算符让你的代码更优雅
妙用ES6解构和扩展运算符让你的代码更优雅Javascript ES6/ES2015尘埃落定,其中许多特性其实是为了简化代码。解构运算符,扩展运算符,和rest运算符就是其中很好的特性,它们可以通过减少赋值语句的使用,或者减少通过下标访问数组或对象的方式,使代码更加简洁优雅,可读性更佳。现在各浏览器及node.js都加快了部署ES6的步伐。ES6的学习正当其时。解构转载 2017-03-25 17:31:45 · 1328 阅读 · 0 评论 -
详解JS原型链与继承
摘自JavaScript高级程序设计:继承是OO语言中的一个最为人津津乐道的概念.许多OO语言都支持两种继承方式: 接口继承 和 实现继承 .接口继承只继承方法签名,而实现继承则继承实际的方法.由于js中方法没有签名,在ECMAScript中无法实现接口继承.ECMAScript只支持实现继承,而且其 实现继承 主要是依靠原型链来实现的.概念简单回顾下构造函数,原型和实转载 2017-03-28 18:32:42 · 935 阅读 · 0 评论 -
JS编码风格受到ES6的限制
在进行调试的时候,我们的浏览器会出现这样的错误:Failed to load resource:the server responded with a status of 404(Not Found)终端的提示错误则为:ERROR in ./src/router.js ✘ http://eslint.org/docs/rules/semi Extra semicolon F:\原创 2016-11-23 10:57:58 · 7699 阅读 · 0 评论 -
用Vuex构建一个笔记应用
原文 https://segment.com/a/119000000501564原文: Learn Vuex by Building a Notes App ,有删改。本文假设读者熟悉 Vuex 文档 的内容。如果不熟悉,you definitely should!在这个教程里面,我们会通过构建一个笔记应用来学习怎么用 Vuex。我会简单地介绍一下转载 2016-11-21 10:54:29 · 1434 阅读 · 0 评论 -
js中的四种调用,this、that
介绍函数四种调用模式前,我们先来了解一下函数和方法的概念,其实函数和方法本质是一样,就是称呼不一样而已。函数:如果一个函数与任何对象关系,就称该函数为函数。方法:如果一个函数作为一个对象属性存在,我们就称之为方法。接下来就可以开始今天的主体。1、函数调用模式。就是通过函数来调用,规范写法为:function fn(){} fn(); 函数中this的指向->window。案例如下:转载 2016-10-18 14:59:09 · 998 阅读 · 1 评论 -
Vue路由的使用
ue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。本文将以示例的形式来介绍vue-router的各个特性,一共包含6个示例,每个转载 2016-09-29 10:12:04 · 5974 阅读 · 0 评论 -
Vue.js-----轻量高效的MVVM框架(使用slot分发内容)
#单个slothtml:h3>#单个sloth3> 定义child01模板 -->template id="child01"> div>this is temp01 component!div> slot> 如果没有分发内容,这里将会被显示 slot>template>div id="dr01"> child01>chil转载 2016-10-24 16:06:12 · 742 阅读 · 0 评论 -
Vux使用实例
布局简单平分:水平布局和垂直布局template> divider>Horizontaldivider> flexbox style="height:40px;"> flexbox-item>div class="flex-demo">1div>flexbox-item> flexbox-item>div class="flex-demo">2d转载 2016-11-03 10:18:00 · 4903 阅读 · 0 评论 -
链接字符串String.prototype.format
经常需要连接字符串及变量,找了一段JS的format函数:String.prototype.format = function(){ var args = arguments; return this.replace(/\{(\d+)\}/g,function(m,i,o,n){ return args[i]; });}转载 2016-10-11 11:25:06 · 1764 阅读 · 0 评论 -
Vue.js 中 v-if 和 v-show 的区别
官网是这样说的:在切换 v-if 块时,Vue.js 有一个局部编译/卸载过程,因为 v-if 之中的模板也可能包括数据绑定或子组件。v-if 是真实的条件渲染,因为它会确保条件块在切换当中合适地销毁与重建条件块内的事件监听器和子组件。 v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——在条件第一次变为真时才开始局部编译(编译会被缓存起来)。 相比之下,v-show转载 2016-10-09 10:33:33 · 2351 阅读 · 0 评论 -
JS回调函数全解析教程
自学jquery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗。迅速google之,发现原来中文翻译成回调。也就是回调函数了。不懂啊,于是在google回调函数,发现网上的中文解释实在是太“深奥”了,我承认自己才疏学浅了。看了几个回调的例子后,貌似有点理解了。下面是我对回调函数的理解,要是理解错了,请指正,不甚感激。 首先还是从jquery网站上的英文定义入手,转载 2016-09-19 11:07:36 · 2599 阅读 · 5 评论 -
深入理解html5拖放
最早在网页中引入JavaScript拖放功能是IE4。当时,网页中只有两种对象可以拖放:图像和某些文本。拖放图像时,把鼠标放到图像上,按住鼠标不放就可以拖放它。拖放文本时,要先选中文本,然后可以像拖放图像一样拖放被选中的文本。在IE4中,唯一有效的放置目标是文本框。到了IE5,拖放功能得到拓展,添加了新的事件,而且几乎网页中的任何元素都可以作为放置目标。IE5.5更进一步让网页中的任何元素都可以拖转载 2016-09-02 14:53:41 · 498 阅读 · 0 评论 -
【JS】innerHtml用法
[javascript] view plain copyinnerHtml用法 function Test(){ var str=""; str+="Hello,"; str+="This is a Test!"; str+="I Love you;转载 2016-09-02 14:42:02 · 800 阅读 · 0 评论 -
JavaScript的self和this使用小结
这个非常简单。我们知道,打开任何一个网页,浏览器会首先创建一个窗口,这个窗口就是一个window对象,也是js运行所依附的全局环境对象和全局作用域对象。self 指窗口本身,它返回的对象跟window对象是一模一样的。也正因为如此,window对象的常用方法和函数都可以用self代替window。举个例子,常见的写法如“self.close();”,把它放在标记中:“关闭窗口”,单击“关闭窗口”链转载 2016-10-28 14:39:35 · 387 阅读 · 0 评论 -
mock.js的使用方法,前后端的分离
作者:张云龙链接:https://www.zhihu.com/question/35436669/answer/62753889来源:知乎著作权归作者所有,转载请联系作者获得授权。为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个web容器,这个本地环境就是 mock server。要完整运行前端代码,通常并不需要完整的后转载 2016-11-11 15:02:00 · 5307 阅读 · 0 评论 -
vue.js组件与组件之间的通信
什么是组件?组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展。使用组件注册之前说过,我们可以用 Vue.extend() 创建一个组件构造器:转载 2016-11-02 19:32:41 · 16797 阅读 · 2 评论 -
vue2.0构建单页应用最佳实战案例 vue.js
转自:http://www.tuicool.com/articles/me6RJfF前言我们将会选择使用一些vue周边的库 vue-cli , vue-router , vue-resource , vuex1.使用vue-cli创建项目2.使用vue-router实现单页路由3.用vuex管理我们的数据流4.使用vue-resource请求转载 2016-11-30 14:37:52 · 39468 阅读 · 12 评论 -
Vue.js和MVVM的小细节
MVVM是Model-View-ViewModel的缩写,它是一种基于前端开发的架构模式,其核心是提供对View和ViewModel的双向数据绑定,这使得ViewModel的状态改变可以自动传递给View,即所谓的数据双向绑定。Vue.js是一个提供了MVVM风格的双向数据绑定的JavaScript库,专注于View层。它的核心是MVVM中的VM,也就是ViewModel。ViewModel负转载 2016-11-30 09:24:57 · 3891 阅读 · 0 评论 -
用vuex构建单页必备好文
前言:在最近学习 Vue.js 的时候,看到国外一篇讲述了如何使用 Vue.js 和 Vuex 来构建一个简单笔记的单页应用的文章。感觉收获挺多,自己在它的例子的基础上进行了一些优化和自定义功能,在这里和大家分享下学习心得。在这篇教程中我们将通过构建一个笔记应用来学习如何在我们的 Vue 项目中使用 Vuex。我们将大概的过一遍什么是 Vuex.js,在项目中什么时候使用它,和如何构建我们转载 2016-11-11 17:56:32 · 16766 阅读 · 5 评论 -
命令行生成vue的框架
-- 安装nodejs用命令行生成vue项目框架需要npm包管理器来安装,而npm又是在安装nodejs的时候同时安装的,所以首先要安装nodejs,学习vue有必要了解下nodejs和npm的基本知识:nodejs安装: http://blog.csdn.net/zzwwjjdj1/article/details/51980082npm 介绍: http://blog.csd转载 2016-11-11 15:41:57 · 1970 阅读 · 0 评论 -
实现前后端分离的mock!!!mock的使用
今天,我们打算花几分钟时间创建一个自己用来测试的 MockUp 服务器。因为我是前端开发,所以这里使用 Node.js 创建一个简单的迷你工程来完成!目标用 curl 访问 mockserver 可以获得自己想要的结果>>> node client1.js>>> curl http://localhost:1080/api/demo{"name":"value"}转载 2016-11-11 15:31:07 · 7505 阅读 · 0 评论