JavaScript
文章平均质量分 87
西北旺雨神
这个作者很懒,什么都没留下…
展开
-
js闭包理解
闭包是js中的一大特色,也是一大难点。简单来说,所谓闭包就是说,一个函数能够访问其函数外部作用域中的变量。闭包的三大特点为:1、函数嵌套函数2、内部函数可以访问外部函数的变量3、参数和变量不会被回收。举例来说:function test(){ var a=1; return function(){ alert(a); ...原创 2018-01-22 15:15:51 · 21650 阅读 · 7 评论 -
前端图片上传总结
前端经常有图片上传的需求,这里做一下总结。对于前端来说,单纯的上传图片还是很简单的,<input type=“file”/>就可以搞定,你可以增加size属性控制用户一次性能选几张。采坑开始:1、部分安卓手机微信直接进图库选取,不能拍照经排查,安卓微信只认accept="image/*",其他的都不好使,加上这个就好了。。。2、往往需求不会那么简单。图片...原创 2018-10-28 17:56:08 · 1129 阅读 · 0 评论 -
小米前端面试二面
Question:有一个url数组var urls = ['/a', '/b', '/c',...]要求依次请求这几个url, 要求是 第一个请求完了才发第二个请求,第二个完了才发第三个请求如此依次。var url = [];var count = 0;function getData(url){ if(count>=url.length) return; count++...原创 2018-03-18 16:04:24 · 2336 阅读 · 0 评论 -
ES6编程 箭头函数总结
单个参数,且函数执行体仅包含一条语句,返回值无需return关键字。const foo = a => a + 1;foo(1); // 2单个参数,函数执行体含多条执行语句,需要使用块级代码段,即使用{}括起来,不过此时若存在返回值,务必记得return。 const foo = a => { a *= 2;原创 2018-03-15 19:38:10 · 185 阅读 · 0 评论 -
es6编程 var let const总结
块级作用域使用let声明块级作用域变量:let a = 'test';console.log(a); // test if (true) { let b = 1;}console.log(b); // error: b is not defined 由此可见,块级作用域变量作用范围在'{}'内,另外在单个块级作用域内,同原创 2018-03-15 19:27:50 · 194 阅读 · 0 评论 -
Vue中computed(计算属性)、methods、watch的区别
初学vue,阅读api后,发现Vue提供了多种逻辑处理的方法,单纯的方法methods,computed(计算属性)以及watch等,充分理解这三者的区别,才能写出更加健壮的Vue代码。1、methods,computed的区别先上例子:var vm = new Vue({ el: '#app', data: { msg: 'nihao', text: 'byebye' },...原创 2018-03-15 18:32:08 · 4418 阅读 · 0 评论 -
Mutation与Action的使用
Vuex是一个状态管理模式,它采用集中式管理各个组件的状态,并以一定的规则使状态发生变化。整个应用的状态保存在store中,而mutation是改变这些状态的唯一方法。举个例子:const state={ a:1}const mutations={ change(state,n){ state.a=n; } }const store=newVuex.Store(...原创 2018-03-15 17:45:46 · 1798 阅读 · 0 评论 -
setTimeout async promise执行顺序总结
最近被看程序写结果的笔试题搞疯了,最典型的当属settimeout,async,promise混用时,哪一步该执行什么,分不清楚。话不多说,先上代码(该题为今日头条前端开发笔试题) async function async1() { console.log("async1 start"); await async2(); ...原创 2018-02-18 18:30:47 · 16760 阅读 · 15 评论 -
js变量提升理解
通俗的来说,变量提升就是,在变量的作用域内,不管变量在何处声明,都会被提升到作用域的顶部,但是变量初始化的顺序不变。(注意,变量提升只将声明部分提升,赋值部分不改变位置,具体可以看例子理解)这句话是什么意思呢?举个例子:function test() { a=1; b=2; c=3 var a,b,c; console.log(a); con原创 2018-01-19 22:33:22 · 823 阅读 · 0 评论 -
This 指向问题的理解
随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指向的是,调用函数的那个对象。有几种情况: 1、全局函数中的this函数的最通常的用法,属于全局性调用,示例代码:var x = 1;function test(){ this.x = 0; alert(x);}test(); //结果为0因为test函数不属于具体的哪个对象,因此是全局的,原创 2018-01-17 18:30:05 · 298 阅读 · 0 评论 -
Video在移动端播放的处理
属性概述1、playsinline 设置内嵌播放,移动端还需加webkit-playsinline属性2、controls属性,进度条控制,不加该属性,苹果端会禁掉进度条,安卓端不行,暂无法解决,只有安卓微信可以特殊处理,加属性x5-video-player-type="h5"3、object-fill样式,实现全屏播放使用1、内嵌播放不全屏,安卓无法去掉进度条,安卓微信去掉进...原创 2018-11-26 15:05:18 · 2910 阅读 · 0 评论