自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 前端性能优化实践

1、背景网站前端的用户体验决定了用户是否想要去使用网站的功能,而网站的功能决定了用户是否会一票否决前端体验。 不仅仅如此,如果前端优化得好,他不仅可以为企业节约成本,因为增强的用户体验,他还能给用户带来更多的用户。2、前言从输入 URL 到页面加载完成,发生了什么?我们现在站在性能优化的角度,一起简单地复习一遍这个经典的过程:首先我们需要通过 DNS(域名解析系统)将 URL 解析为对应的...

2019-09-16 14:31:22 454

原创 三方支付实践

对于付费类项目,必不可少的一步便是接入各种支付,目前国内比较流行的三方支付主要集中在支付宝,微信支付,京东支付等。这几家主流支付,各有各的要求,各有各的bug需要处理。因此在这里将会针对每种支付的支付流程,支付配置,支付异常处理,支付关键点等做一个统一的总结。支付宝支付支付流程 支付宝支付算是所有三方支付里最为简单的,不需要前端进行任何配置,它的支付流程如下:...

2019-09-01 18:50:34 353

原创 Video在移动端播放的处理

属性概述1、playsinline 设置内嵌播放,移动端还需加webkit-playsinline属性2、controls属性,进度条控制,不加该属性,苹果端会禁掉进度条,安卓端不行,暂无法解决,只有安卓微信可以特殊处理,加属性x5-video-player-type="h5"3、object-fill样式,实现全屏播放使用1、内嵌播放不全屏,安卓无法去掉进度条,安卓微信去掉进...

2018-11-26 15:05:18 2821

原创 前端图片上传总结

前端经常有图片上传的需求,这里做一下总结。对于前端来说,单纯的上传图片还是很简单的,<input type=“file”/>就可以搞定,你可以增加size属性控制用户一次性能选几张。采坑开始:1、部分安卓手机微信直接进图库选取,不能拍照经排查,安卓微信只认accept="image/*",其他的都不好使,加上这个就好了。。。2、往往需求不会那么简单。图片...

2018-10-28 17:56:08 1091

原创 快应用采坑(3)-使用差别

快应用开发很多地方与常规前端开发不同,根据自己的采坑,整理以下几点:1、如果属性名称使用驼峰定义,如:prop2Object,那么在外部传递数据时请使用-连接,如:prop2-object,否则无法传值,如: 2、单位为px,该单位已实现各种屏幕自适应,默认设计稿宽度750px,此时样式1px=设计稿1px 3、默认为flex布局,快应用中display只有两种值,

2018-04-03 15:12:43 3287 1

原创 快应用采坑(2)-安装

官方提供构建工具hap-toolkit这是官方提供的构建工具,类似于vue cli这种,按照官网安装即可。运行第一个项目可以参考https://doc.quickapp.cn/tutorial/getting-started/hello-world.html里面有几个地方值得注意:1、调试的手机上需要同时安装 调试器和平台预览版,分别从上面的连接里下载apk安装2、如果需要边开

2018-04-03 15:09:23 452

原创 快应用采坑(1)-安装

华为FastApp IDEIDE下载连接:https://omp.hicloud.com/dsm/hms/cn/doc/fastapp_fastapp_devprepare_install_tool.html安装相对来说简单,安装完毕后打开,官方提供了三种模板,任选一种,创建即可。下面是运行第一个demo的流程,相对来说复杂一些,需要电脑连接安卓手机,调试时会将快应用推送到手机上运

2018-04-03 15:07:06 1845

原创 canvas采坑(1)

项目中遇到了需要用canvas合成图片的需求,本来看到网上教程,几句话搞定:var canvas=document.getElementById("myCanvas");//获取cnavas那个domvar ctx=canvas.getContext("2d");//貌似是定义为2Dvar bg = document.getElementById("scream");//获取id为img的do...

2018-03-18 17:53:15 268

原创 小米前端面试二面

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 2295

原创 微信小程序学习笔记

1、background-image只能用网络url或者base64 .本地图片要用image标签才行 2、事件绑定 value 是一个字符串,需要在对应的 Page中定义同名的函数。不然当触发事件的时候会报错。3、bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡4、需要在捕获阶段监听事件时,可以采用capture-bind、ca

2018-03-16 17:35:41 165

原创 ES6编程 箭头函数总结

单个参数,且函数执行体仅包含一条语句,返回值无需return关键字。const foo = a => a + 1;foo(1); // 2单个参数,函数执行体含多条执行语句,需要使用块级代码段,即使用{}括起来,不过此时若存在返回值,务必记得return。 const foo = a => {    a *= 2;    

2018-03-15 19:38:10 175

原创 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 185

原创 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 4381

原创 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 1751

原创 setTimeout async promise执行顺序总结

最近被看程序写结果的笔试题搞疯了,最典型的当属settimeout,async,promise混用时,哪一步该执行什么,分不清楚。话不多说,先上代码(该题为今日头条前端开发笔试题) async function async1() { console.log("async1 start"); await async2(); ...

2018-02-18 18:30:47 16642 15

原创 js闭包理解

闭包是js中的一大特色,也是一大难点。简单来说,所谓闭包就是说,一个函数能够访问其函数外部作用域中的变量。闭包的三大特点为:1、函数嵌套函数2、内部函数可以访问外部函数的变量3、参数和变量不会被回收。举例来说:function test(){ var a=1; return function(){ alert(a); ...

2018-01-22 15:15:51 21583 7

原创 js变量提升理解

通俗的来说,变量提升就是,在变量的作用域内,不管变量在何处声明,都会被提升到作用域的顶部,但是变量初始化的顺序不变。(注意,变量提升只将声明部分提升,赋值部分不改变位置,具体可以看例子理解)这句话是什么意思呢?举个例子:function test() { a=1; b=2; c=3 var a,b,c; console.log(a); con

2018-01-19 22:33:22 809

原创 This 指向问题的理解

随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指向的是,调用函数的那个对象。有几种情况:      1、全局函数中的this函数的最通常的用法,属于全局性调用,示例代码:var x = 1;function test(){ this.x = 0; alert(x);}test(); //结果为0因为test函数不属于具体的哪个对象,因此是全局的,

2018-01-17 18:30:05 264

原创 java jdbc编程,运行总显示不允许链接

错误提示 java.sql.SQLException: null,  message from server: "Host '10.12.92.28' is not allowed to connect to this MySQL server"at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)

2016-05-14 00:04:20 540 1

原创 linux常用命令笔记

Linux常用命令:一、命令基本格式[root@localhost ~]#root:当前登录用户localhost:主机名~:当前所在目录(家目录)#:超级用户的提示符     普通用户的提示符为$命令格式命令 [选项] [参数]注意:个别命令使用不遵循此格式         当有多个选项时,可以写在一起         简化选项与完整选项         如:-a 等于 --all*******

2016-05-14 00:02:38 209

原创 phonegap cordova 环境搭建及安装

因为学校有项目需要快速开发出来所以选择了phonegap+html5的结构来搞,第一步就是搭建phonegap环境。phone gap说白了就是一个封装器,可以创建出​自动创建出安卓工程或ios的,你只需要把写好的html文件拖入,然后就可以打包成apk了。言归正传,来说环境搭建,当然前提是电脑里有jdk了。第一步,百度搜索nodes,官网下载下来,下recommended for

2016-05-14 00:01:00 3382

原创 mysql 修改默认密码

很多人安装mysql后就直接打开命令行使用了,发现根本创建不了数据库,报错为Access denied for user 'root@localhost'这是因为你没有登录你的数据库,所以没有相应权限,mysql为我们默认带一个账户,账户名为root,密码为空,接下来介绍如何自己改默认密码第一步,打开cmd,输入mysql -u root mysql第二步,输入update u

2016-05-13 23:59:15 410

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除