JS
文章平均质量分 83
楚葑
前端开发小白一名
展开
-
JavaScript中的闭包
闭包大概来说只能算是一个抽象的概念,很难非常完美地对这个概念进行描述,只能用尽量准确的词去定义,在我的理解中,闭包就是:当函数可以记住并且访问所在的词法作用域时,就产生了闭包,就算函数在词法作用域以外执行。最简单,常见的用法就是在一个函数当中再创建一个函数,并且返回该函数。function foo(){ var a=10; function bar(){ con...转载 2018-10-31 14:20:35 · 88 阅读 · 0 评论 -
前端跨域常见解决方案
前端的跨域就是指从指定一个域下的脚本或者文档去别的域去请求资源。主要有3个方面:(1)资源跳转:a跳转,重定向,表单提交。(2)资源嵌入:<link>,<script>,<img>,<frame>等dom标签,还有样式中的background:url(),@font-face()等文件外链。(3)脚本请求:js发起的ajax请求,dom和...转载 2018-11-01 22:34:04 · 253 阅读 · 0 评论 -
vue的数据双向绑定原理
vue的数据双向绑定是通过数据劫持结合发布-订阅者模式来实现的,那么如果是进行数据劫持的话,我们可以先看一下通过控制台输出一个定义在vue初始化数据上的对象是什么东西。var vm = new Vue({ data:{ obj: {a: 1} }, created: function () { console.log(this.obj)...转载 2018-11-06 14:56:32 · 187 阅读 · 0 评论 -
JavaScript实现快速排序
快速排序的思想:在数组中找到一个基准数(pivot),然后将数组分为2部分,左边的数比基准数小,右边的数比基准数大,然后继续对左右区间进行同样操作,直到各个区间剩下1个数,就能够产生有序的数组了。性能分析:最差的情况下,每次选取的基准数都是区间最大或最小值,导致每次只划分一个区域,需要n-1次递归才能结束排序,这时候的时间复杂度为O(n^2); 最好的情况...转载 2018-11-02 10:41:36 · 430 阅读 · 0 评论 -
ES6中的promise深入理解
ES6中,Promise对象可以理解为一次执行的异步操作,使用Promise对象之后可以使用一种链式调用方法来组织代码,让代码更加直观。在使用ajax发送请求后拿到数据,往往要将数据传送到其他请求中,那么就需要编写这样的代码:$.ajax({ url: '', dataType: 'json', success: function (data) { //获取数据后将数...转载 2018-11-07 15:56:35 · 241 阅读 · 0 评论 -
JavaScript正则表达式深入理解
正则表达式在很多场景和需求中都能用得上,而且很多情况下使用正则表达式能够让代码更加轻松简洁,特别是在我们判断输入的时候,非常好用。正则就是用来处理字符串的,匹配字符串的格式是否符合既定的格式(正则的匹配),把一个字符串中符合既定格式的内容获取(正则捕获);test和exec是正则里面的方法,test->匹配:var reg = /\d/;// \d一个0-9之间的数字consol...转载 2018-11-08 22:11:14 · 181 阅读 · 0 评论