随笔分类 -  JavaScript

设计js的基本原理以及原生方法的解析运用等
摘要:1. 键盘弹出触发window.resize,对页面产生挤压,造成定位紊乱 在页面初始化完成的时候,固定外部容器的宽高,resize的时候也不影响内部dom的相对位置。例如,以body为容器: <style type="text/css"> html,body{ width: 100%; heigh 阅读全文
posted @ 2020-07-23 23:42 前端大兵 阅读(2674) 评论(0) 推荐(0)
摘要:1. 在cordova项目的config.xml中指定StatusBarOverlaysWebView(需要cordova-plugin-statusbar插件支持),表示应用界面是否覆盖状态栏(系统最上方显示时间、信号、电量的地方)。Android设为false,iOS设为true。设为true可 阅读全文
posted @ 2020-07-22 16:39 前端大兵 阅读(2119) 评论(0) 推荐(0)
摘要:日期格式化: Date.prototype.format = function(fmt) { var o = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes 阅读全文
posted @ 2020-04-20 16:41 前端大兵 阅读(2075) 评论(0) 推荐(0)
摘要:按照大小压缩图片,或者按照特定分辨率裁切图片,转为blob数据。自动处理ios中可能存在的照片偏差90°问题。 例如,获取300*300大小的头像,实现以下效果: 使用方式: <!-- 引入js文件 --> <script type="text/javascript" src="./compress 阅读全文
posted @ 2020-04-15 12:59 前端大兵 阅读(930) 评论(0) 推荐(0)
摘要:/** * 表单校验规则 * 不符合规则时,返回错误文案 * 符合规则时,返回false */ var rules = {} // 是否必填 rules.required = function (value) { return (!!value || value 0) ? false : "请输入内 阅读全文
posted @ 2020-03-29 16:34 前端大兵 阅读(653) 评论(0) 推荐(0)
摘要:结论:需要根据state进行渲染时,使用React.Component;用不到state时,可以直接写函数组件。 Function 函数组件:可以接收入参(props),通过return返回dom结构。 function Hello(props) { return <h1>Hello, {props 阅读全文
posted @ 2020-03-17 01:13 前端大兵 阅读(1167) 评论(0) 推荐(0)
摘要:在移动端页面上,一次点击行为,会触发touch、mouse、click事件,规则如下: Stage 1: 手指按在屏幕上,立即触发touchstart。 Stage 2: 手指离开屏幕,这里分2种情况: 如果手指在屏幕上的停留时间少于500ms,会依次触发 touchend->mousemove-> 阅读全文
posted @ 2020-01-15 10:43 前端大兵 阅读(2484) 评论(0) 推荐(0)
摘要:Android 端: 前端: 阅读全文
posted @ 2020-01-07 11:01 前端大兵 阅读(1885) 评论(0) 推荐(0)
摘要:html DOM元素有很多on开头的监听事件,如onload、onclick等,见DOM事件列表。但是同一种事件,后面注册的会覆盖前面的: addEventListener监听 利用addEventListener添加监听事件,可以重复添加,并不会互相覆盖: 注意这里面的事件是不带"on"前缀的。 阅读全文
posted @ 2018-11-19 10:27 前端大兵 阅读(10717) 评论(1) 推荐(1)
摘要:javascript是面向对象的语言,Function也是一种对象,有自己的属性和方法。call和apply就是js函数自带方法,挂在Fucntion.prototype上。 一般调用某函数时,直接“函数名(参数)”的写法即可,函数内部的this指向函数的调用者。 call和apply的作用是给函数 阅读全文
posted @ 2018-10-09 20:14 前端大兵 阅读(2352) 评论(0) 推荐(0)
摘要:gizp压缩是一种http请求优化方式,通过减少文件体积来提高加载速度。html、js、css文件甚至json数据都可以用它压缩,可以减小60%以上的体积。 webpack在打包时可以借助 compression webpack plugin 实现gzip压缩,首先需要安装该插件: npm i -D 阅读全文
posted @ 2018-09-29 17:01 前端大兵 阅读(31877) 评论(0) 推荐(2)
摘要:在前后端分离的项目中,通常需要启动一个后台服务器来配合前端项目的接口需求。Mockjs的作用是拦截ajax请求并模拟各种数据返回,让前端开发可以更加自由独立。 安装 使用 Mock.mock()第一个参数是需要拦截的接口,第二个参数表明ajax请求类型(get/post/put/delete等),第 阅读全文
posted @ 2018-09-07 10:48 前端大兵 阅读(6568) 评论(0) 推荐(0)
摘要:在javscript中,this 是在函数运行时自动生成的一个内部指针,它指向函数的调用者。 箭头函数有些不同,它的this是继承而来, 默认指向在定义它时所处的对象(宿主对象),而不是执行时的对象。 如上getName3(),将箭头函数作为直接执行的方法来写时要特别小心,它的this会直接指向wi 阅读全文
posted @ 2018-07-23 10:31 前端大兵 阅读(896) 评论(0) 推荐(0)
摘要:本地存储是HTML5中提出来的概念,分localStorage和sessionStorage。通过本地存储,web应用程序能够在用户浏览器中对数据进行本地的存储。与 cookie 不同,存储限制要大得多(至少5MB),并且信息不会被传输到服务器。 什么时候用本地存储? 跨期:不同时间打开页面,比如这 阅读全文
posted @ 2018-07-16 14:59 前端大兵 阅读(1484) 评论(2) 推荐(0)
摘要:我们需要在特定的时候判断页面的显示状态,例如:当视频加载到可播放状态时,根据用户是否停留在当前页面来决定是否开始自动播放。页面的展示的状态的判断就需要用到html5新增的一个api:document.hidden。 document.hidden属性:bool型,表示页面是否处于隐藏状态。页面隐藏包 阅读全文
posted @ 2018-07-12 14:18 前端大兵 阅读(11475) 评论(0) 推荐(2)
摘要:滑块拼图型的验证方式已经流行起来,多数的实现方式是直接加载两张分割好的图片。现在用canvas去自动修剪图片,节省修图工作量和http请求: 加载一张整图,用canvas切割缺口,缺口位置在固定范围内随机 点击刷新按钮重新加载和切割 滑块响应拖动,实时更新缺口位置 拖动结束时计算位置是否匹配,允许一 阅读全文
posted @ 2018-07-11 16:48 前端大兵 阅读(4615) 评论(1) 推荐(0)
摘要:对象是一个属性集合,对象的基本特征是属性名(name)和属性值(value)。ES5 增加了属性描述符,包括数据属性描述符(configurable enumerable writable value)和存取描述符(configurable enumerable get set)。两类描述符中的co 阅读全文
posted @ 2018-07-10 16:59 前端大兵 阅读(329) 评论(0) 推荐(0)
摘要:基于canvas制作随机生成数字英文组合验证码效果,点击或刷新会自动重组。输入验证码提交验证效果代码。 阅读全文
posted @ 2018-07-09 12:38 前端大兵 阅读(906) 评论(0) 推荐(0)
摘要:模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有CommonJS、AMD、CMD以及ES6的模块系统。前端模块化的演进过程可以看看阮一峰老师的文章。本文主要介绍各规范下的模块化实现方式。 一、Co 阅读全文
posted @ 2018-06-14 11:42 前端大兵 阅读(1177) 评论(0) 推荐(0)
摘要:JS在复制对象的时候,复制的是指针。有复制关系的两个对象,一个改变时另一个的值也跟着变了。数组也是对象,也存在这种现象。实现非指针复制,可以用JSON方法进行双重转换,也可以便利属性递归赋值。 阅读全文
posted @ 2017-12-23 00:43 前端大兵 阅读(574) 评论(0) 推荐(0)