随笔分类 -  JavaScript

JavaScript
摘要:``` const sleep = (timeountMS) => new Promise((resolve) => { setTimeout(resolve, timeountMS); }); (async () => { console.log('11111111, ' + new Date()); await sleep(2000); console.log('222222... 阅读全文
posted @ 2019-02-21 10:23 Mr.曹 阅读(5174) 评论(1) 推荐(1) 编辑
摘要:注册页包含手机验证码登录和密码的二次验证。 效果如下: 实现代码: 阅读全文
posted @ 2019-02-03 10:51 Mr.曹 阅读(26901) 评论(0) 推荐(0) 编辑
摘要:1. 创建 loading 公用组件 loading效果如下: 需要在 login.vue 页面背景图完全加载完成之前显示上面的loading效果 2. login.vue 页面 阅读全文
posted @ 2019-02-01 15:31 Mr.曹 阅读(9702) 评论(0) 推荐(2) 编辑
摘要:Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化,例如时间戳格式化。 过滤器可以用在: 双花括号插值 v bind 表达式 (2.1.0+ 开始支持)。 过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示: <! 在双花括号中 {{ timestamp | fo 阅读全文
posted @ 2019-01-31 15:21 Mr.曹 阅读(5477) 评论(0) 推荐(0) 编辑
摘要:1. 开发环境跨域配置 在 vue.config.js 文件中: 注意,配置完成后要重启服务 配置 axios 请求的 baseUrl 在 main.js 中: 页面中发送请求: 此时,虽然发送的请求到地址:http://localhost:8080/api/postData/, 但是已经代理到了地 阅读全文
posted @ 2019-01-28 19:04 Mr.曹 阅读(20393) 评论(5) 推荐(0) 编辑
摘要:当打包构建应用时,Javascript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。 1. 安装 syntax dynamic import 插件 如果在 vue cli 使用了 babel ,需要添加 插件 阅读全文
posted @ 2019-01-28 15:53 Mr.曹 阅读(5931) 评论(1) 推荐(0) 编辑
摘要:``` 首页 姓名 身份证号 手机号 ... 阅读全文
posted @ 2019-01-22 08:43 Mr.曹 阅读(9082) 评论(0) 推荐(0) 编辑
摘要:微信小程序中有些 Api 是异步的,无法直接进行同步处理。例如: "wx.request" 、 "wx.showToast" 、 "wx.showLoading" 等。如果需要同步处理,可以使用如下方法: 注意: Async await方法属于ES7语法,在小程序开发工具中如果勾选es6转es5, 阅读全文
posted @ 2019-01-07 10:31 Mr.曹 阅读(77650) 评论(2) 推荐(1) 编辑
摘要:1. 设备震动 vibrate Navigator.vibrate() 方法使设备(有震动硬件)产生有频率的震动。若设备不支持震动,该方法将无效。若某震动方式已经在进行中(当该方法调用时),则前一个震动方式停止,新的取而代之。 该方法若因为提供无效的参数使得无法使设备震动,它将返回false,否则返 阅读全文
posted @ 2018-12-19 10:39 Mr.曹 阅读(336) 评论(0) 推荐(0) 编辑
摘要:1. 在页面中引入友盟(CNZZ)统计的 JS 代码 2. 在页面的之前添加 “var _czc = _czc || [];”,用来声明_czc对象,API代码中都会使用到这个对象。 “_czc.push(["_setAccount", "XXXXXXXX"]);”用来指定需要哪个网站代码(site 阅读全文
posted @ 2018-12-14 16:36 Mr.曹 阅读(8312) 评论(0) 推荐(0) 编辑
摘要:当首页内容或图片比较多时,加载时间会比较长,此时可能出现页面白屏的情况,用户体验较差。所以,在页面完全加载出来之前,可以考虑加入loading效果,当页面完全加载完后,是loading消失即可。 1. 方法 html: 在页面开头部分加入: js: 在页面最后面引入: css: 2. 效果如图: 3 阅读全文
posted @ 2018-12-14 15:35 Mr.曹 阅读(11582) 评论(3) 推荐(3) 编辑
摘要:· 解决方法 针对弹出的浮层的 事件,添加阻止浏览器默认行为。 阅读全文
posted @ 2018-12-13 17:17 Mr.曹 阅读(942) 评论(0) 推荐(0) 编辑
摘要:移动端项目中,在滚动的时候,会报出以下提示: 解决 1. 在 的事件监听方法上绑定第三个参数 , 通过传递 passive 为 false 来明确告诉浏览器:事件处理程序调用 preventDefault 来阻止默认滑动行为。 2. 在 CSS 中全局使用: 的使用方法见:https://devel 阅读全文
posted @ 2018-12-03 17:51 Mr.曹 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:变量提升(Hoisting):在ES6之前, 和`变量声明`总是被JavaScript解释器隐式地提升(hoist)到包含他们的作用域的最顶端。 注意: 1. JavaScript 仅提升声明,而不提升初始化。2. ES6 中不存在变量提升的概念。 1. 变量提升 变量未声明: 变量在使用后声明: 阅读全文
posted @ 2018-11-28 16:06 Mr.曹 阅读(210) 评论(0) 推荐(0) 编辑
摘要:箭头函数表达式的语法比函数表达式更短,并且没有自己的this,arguments,super或 new.target。 箭头函数基本语法 写法对比 当箭头函数后面的函数声明部分只有一行时,可以不加大括号,并且默认return 当箭头函数后面的函数声明部分加大括号时,必须添加return 注意 在ES 阅读全文
posted @ 2018-11-06 15:41 Mr.曹 阅读(950) 评论(1) 推荐(0) 编辑
摘要:原生 JavaScript 和 jQuery 获取屏幕视口宽度及元素尺寸的方法: 屏幕视口宽度 滚动条滚动的距离 获取浏览器窗口顶部与文档顶部之间的距离,即滚动条滚动的距离 获取元素尺寸 但是,如果像上面使用原生style.xxx方法获取属性,这个元素必须已经有内嵌的样式,即``; 如果原先是通过外 阅读全文
posted @ 2018-11-06 15:37 Mr.曹 阅读(3605) 评论(0) 推荐(0) 编辑
摘要:在 js 异步请求数据时,通常,我们多采用回调函数的方式解决,但是,如果有多个回调函数嵌套时,代码显得很不优雅,维护成本也相应较高。 ES6 提供的 Promise 方法和 ES7 提供的 Async/Await 语法糖可以更好解决多层回调问题。 Promise 对象用于表示一个异步操作的最终状态( 阅读全文
posted @ 2018-11-06 15:36 Mr.曹 阅读(5541) 评论(2) 推荐(2) 编辑
摘要:判断给定字符串中的大括号是否闭合(返回True False;对于空字串,返回 True),在 Javascript 里,数组 Array 可以很方便的模拟栈的行为。 1. 将大括号分为左括号和右括号 2. 左括号看做入栈信号,右括号看做出栈信号 3. 如果出栈时,没有与之匹配的元素,则结果不匹配,即 阅读全文
posted @ 2018-11-05 16:35 Mr.曹 阅读(1399) 评论(0) 推荐(0) 编辑
摘要:FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。 jQuery Ajax 上传文件 通过 Ajax 向后台发送文件(包括图片)时,其参数类型属于对象。可以创建一个 Fo 阅读全文
posted @ 2018-11-01 09:50 Mr.曹 阅读(81707) 评论(2) 推荐(3) 编辑
摘要:可以使用 pointer events 来阻止元素成为鼠标事件的 target。html5 新增操作元素 class 类名的方式 classList。 classList 方法 add(value):在元素中添加一个或多个类名。如果值已经存在,就不添加了。 contains(value): 返回布尔 阅读全文
posted @ 2018-11-01 09:49 Mr.曹 阅读(4141) 评论(0) 推荐(2) 编辑