-
微信小程序 canvas 绘制分享卡片图片
直接贴代码drawDivToImage(){ let drawBG = (avatarUrl) => { let ctx = wx.createCanvasContext('myCanvas') let transitionPX = (s) => { return wx.getSystemInfoSync().windowWidth / 750 * s } let canvasW = trans...…
-
微信小程序开发笔记
使用mpvue开发小程序—Vuex(store)的支持mpvue提供了vue的语法编译为小程序的能力,但是还是有些局限,不过能做到跟vue差不多已经很不错了。我在项目中按照vue初始化 store 的时候,本以为能像vue里正常使用vuex的一些功能,发现报错 TypeError: Cannot read property 'state' of undefined,一下子懵逼了,在pages的页面里打印 this对象,发现并没 $store属性,也就是说mpvue对store并没有初始化成...…
-
promise用法进阶以及async await用法初探
最近在写小程序,用promise封装了一些小程序内部方法的时候,然后Promise then 调用发现还是嵌套写法,感觉封装就没什么意义了,代码如下:login() //封装好的小程序登录方法getUserInfo() //封装好的小程序获取用户信息方法request('/user/insertUser.do', data, 'GET') //封装好的小程序接口请求方法我需要拿到用户唯一id,就是login()的code值,然后拿到用户头像昵称,然后请求接口传给后台,写法如下login()...…
-
[ JS 进阶 ] 基本类型 引用类型
ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型。也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可变类型,其实这些叫法都是依据这两种的类型特点来命名的,大家爱叫啥就叫啥吧 o(╯□╰)o 。1.基本类型基本的数据类型有:undefined,boolean,number,string,null .基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值。基本类型有以下几个特点:1.基本类型的值是不可变得:(不可被...…
-
原型链继承的缺点(修改原型属性的解释说明)
在重温js原型链继承的缺点的时候,发现一个疑点。原型链继承的缺点: 在于对原型中引用类型值的误修改。(注意:是引用类型值) 原型链不能实现子类向父类中传参。 看下例子://父类:人function Person () { this.head = '脑袋瓜子'; this.emotion = ['喜', '怒', '哀', '乐']; //人都有喜怒哀乐}//子类:学生,继承了“人”这个类function Student(studentID) { ...…
-
Es6 扩展运算符 三个点(...)
遇到上一篇文章的问题,发现自己对Es6理解的还是太肤浅了,针对上一篇文章用到的 Es6展开运算符,看了一些博客,赶紧记下~~~含义扩展运算符( spread )是三个点(…)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1, 2, 3]) // 1 2 3 console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5 [...document.querySelectorAll('div')] //...…
-
优雅的进行vue-router文件管理
也可以看segmentDefault,在这里提问的问题, 传送门一直都习惯在一个router.js 去编写自己的路由功能,但是发现当项目菜单增多(模块增多),功能变多,router.js 代码也会越来越长,就会变得不是那么容易管理,多人合作也会不是特别一目了然的感觉。像这种const router = new Router({ routes: [ { path: '/login', name: 'login', ...…
-
js生成指定长度随机字符串
已知Math.random() -> 随机数字16位小数已知number.toString(36) -> 0-9 a-Z的字符串不熟悉的可以看下 Number.toString()所以 随机字符串可以用下面代码展示Math.random().toString(36).substr(0,2)或Math.random().toString(36).slice(2)生成指定长度随机字符串可封装成方法如下function random(length) { var str = Ma...…
-
js 和 app 交互
js传参给app网上搜到一个可行方法,赶紧记录下来.js给安卓传参window.android.shareFun(param); //shareFun 安卓声明的方法js给IOS传参window.webkit.messageHandlers.shareFun.postMessage(param); //shareFun Ios声明的方法例子复制一段同事写的例子~~~ 😋😋//判断是ios还是androidvar u = window.navigator.userAgent;var isAn...…
-
函数式编程以及高阶函数
最近公司开始每周一次技术分享会,这周轮到我,我的分享会主题是《函数式编程以及高阶函数》,看了很多文章,花了周末两天时间整理出来,主要是整理思路以及PPT确实很费时间,还是比较喜欢自己 整理博客或者自由总结东西~~~现在开始简单介绍一下函数式编程,适合新手理解。下面开始进入正题:函数式编程首先我们来了解一下什么是函数式编程?在函数式编程语言中,函数是第一类的对象,也就是说,函数 不依赖于任何其他的对象而可以独立存在,而在面向对象的语言中,函数 ( 方法 ) 是依附于对象的,属于对象的一部分。...…
-
[Node]升级到最新版本以及指定版本方法
[Node]升级到最新稳定版方法网上搜到一个可行方法,赶紧记录下来.Mac环境升级第一步,先查看本机node.js版本:$ node -v第二步,清除node.js的cache:$ sudo npm cache clean -f第三步,安装 n 工具,这个工具是专门用来管理node.js版本的,别怀疑这个工具的名字,是他是他就是他,他的名字就是 “n”$ sudo npm install -g n第四步,安装最新版本的node.js$ sudo n stable第五步,再次查看本机的nod...…
-
webpack配置问题
vue-cli开发环境以及生产环境配置开发时候,开发环境接口和正式环境的接口是不一样的,开发环境是请求本地接口,正式环境请求服务器接口。每次测试和打包的时候,都需要手动配置一下接口配置,切换开发环境接口名称,切来切去甚是麻烦。苦思许久,找资料,发现webpack可以自动配置开发环境和生产环境的,具体操作如下。要修改的文件目录结构--- | config --- dev.env.js --- index.js --- prod.env.jsdev.env.js (开发环境配...…
-
http GET 和 POST 请求的优缺点和误区
Get和Post的区别?Get和Post在面试中一般都会问到,一般的区别:(1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中) (2)post发送的数据更大(get有url长度限制) (3)post能发送更多的数据类型(get只能发送ASCII字符) (4)post比get慢 (5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,支付宝的搜索查询都是get提交),目的是资源获取,读取数据 虽然在开发中经常用get或者p...…
-
知识点总结
项目开发webpack的一些细节效率优化a)去除console:在build/webpack.prod.conf.js new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false, drop_console: true,//去除console.log pure_funcs: ['console.log'],//去除console.lo...…
-
小程序之bindtap传参
问题来源在写小程序的时候,以为微信小程序按钮点击事件传参是和web端相同,即在事件中写明所传递的参数即可,但是这样尝试过以后发现小程序的控制台报错,报所写的bindtap中参数错误(未完待续…)…