- 博客(17)
- 收藏
- 关注
原创 二:云函数细则说明及部署流程
的方法,并且能够无视手动配置的集合权限(下图所示)。让开发者得以结合业务,通过代码判断数据的索引条件。在传统开发中,后端开发者在本地编写完接口后,会交由运维或自行将编译后的代码部署到服务器上。建议开发者完成云函数的编写后,及时开启本地调试或将云函数部署到云端。对象提供的一系列属性和方法,就可以轻松操作数据库中的数据。等信息,无需通过复杂的登录流程去维护用户的登录状态。,只是存放在本地,并不会出现在云开发控制面板中。而云函数的"上线工作",相比就轻松很多,只需要。进行服务端开发时,除了内置模块,还可以使用。
2022-10-11 16:29:58
750
1
原创 一:对比传统开发流程理解云开发
确实,就接触一套新的开发范式来说,阅读官方文档一定是最佳方式。但如果那些晦涩的名词,事先用人话翻译一遍,想必学习成本会下降很多。所以这套专辑更像一部指南,不会涉及很多细节之处,也不会逐个解释文档中的示例code。只会结合我们更为熟悉的领域,进行比对讲解,通过联想的方式提升学习效率。我在每一处需要衔接文档阅读的地方都做了超链接,建议读者朋友在每阅读完一小节后,都点击超链接进入文档,做一些更细致的了解。最后,希望这套专辑,能够起到抛砖引玉的效果,实实在在的帮助到每一位读者朋友。作为前端开发者,一定对。
2022-10-11 10:52:38
931
原创 Hyper-V虚拟机怎么设置
创建虚拟机打开Hyper-V管理器新建虚拟机选择虚拟机存储位置选择版本,win7选择第一代,win8及以上选择第二代分配内存,默认即可,想大一点也没关系选择网络适配器,一开始选Default Switch就行,后面还需要配置创建虚拟硬盘,默认就行装系统,映像文件自己去下载就好配置虚拟机取消安全启动,不然无法启动创建虚拟交换机,不然虚拟机无法联网物理机桥接虚拟交换机,同时选中这两个,右键桥接使用虚拟交换机启动,连接就好了映射虚拟机端口到物理机
2022-01-05 22:31:49
4067
原创 forEach循环如何跳出
需求有一个数组arr,使用forEach,当遍历到2时跳出循环let arr = [1,2,3,4]arr.forEach(n=>{ if (n == 2){ // 跳出 }})注意break 和 continue 是给for循环使用的forEach的方法机制对数组的每个有效元素执行一次callback函数解决方法使用try{} catch(e) {}模拟一个错误let arr = [1, 2, 3, 4]let key = nulltry
2021-11-30 12:43:51
2373
原创 uni-app使用canvas技术实现弹幕(思路+代码)
之前在公司有一个项目,需要使用uni-app实现一个弹幕的效果,展示已付款用户。当时项目赶时间,使用了一个插件,后来琢磨了一下实现思路:分析一个弹幕功能,首先需要拿到弹幕内容,这个不用多说。除此以外,还要有画布的总宽度,让数据一开始处于画布区域之外。然后让数据以不同的速度,向canvas区域内容滑动,知道完全穿过这个canvas区域。当然数据不会只有一条,所以还要设置y轴的间距,如图所示:实现思路整理数据接口中返回的数据,一般只包含弹幕内容,所以速度和x轴,y轴这些属性,只能靠前端自己
2020-10-30 17:36:11
2085
4
原创 canvas解决绘制文字自动换行问题
今天在写小程序的canvas时,遇到一个蛮有趣的问题:使用canvas的ctx.fillText绘制文字时,即使超出画布了,也不会自动换行。于是琢磨出了如下解决办法:首先获取字符串的长度let allFontNum = str.length然后获取画布宽度,以画布宽度占整个屏幕宽度的90%为例let canvasWidth = wx.getSystemInfoSync().windowWidth * 0.9这样就可以计算出来,每一行需要绘制多少个字// 每行需要的字数 = 字符串长度向下取
2020-10-22 13:21:28
4072
2
原创 javascript中的面向对象:封装、继承、多态详解
目录封装继承多态重载arguments重构封装在面向对象中,一定要把公用以及父级自己要用的属性和方法封装在父对象的内部继承当子对象需要公用属性或方法时,可以直接从父对象中继承多态重载配合arguments,根据传入的参数不同,执行不同的函数体arguments一个类数组对象,包含所有传入的参数,是实现重载的一种工具重构父对象构造出来的属性和方法,都可以在子对象中重新定义...
2020-09-29 21:11:41
304
原创 观察者模式原理及演示代码
// 被关注的对象var data = { // 被关注的变量 money: 1000, // 存放观察者对象的数组 observes:[], // 通知观察者对象 notifyAll() { // 遍历调用观察者们的notify方法,即发出通知 this.observes.forEach((item)=>{ item.notify() }) }, // 修改属性,并执行 发出通知 的方
2020-09-21 12:39:02
104
原创 利用对象方法给数组去重
有这么一个数组var arr = [1,2,3,2,1,4]利用唯一下标去重一个对象中不允许有重复的下标var hash = {}for (var i = 0; i < arr.length; i++) { hash[arr[i]] = 1}var res = []var i = 0for (res[i++] in hash)console.log(res)遍历时,hash对象在内存中的样子hash = { 1: 1, 2: 1, 3: 1, 2: 1, // 不
2020-09-20 15:24:10
168
原创 使用访问器属性,模拟Vue的绑定原理
有这样一段HTML<h1>Welcome</h1><h2>积分:{{scroe}}</h2><h1>用户名:{{uname}}</h1><h2>积分:{{score}}</h2>分析new Vue()做了哪些事1、改造data对象中的属性,并通过访问器属性对每个变量进行保护var data = { _uname:"dingding", _score:2000}2、扫描真实DOM树并创建虚
2020-09-20 12:35:41
306
原创 详解call,apply,bind的区别
call场景函数get想要获取一个对象 lilei 的属性 this.name ,但是函数默认的this是指向window的,所以获取不到this.name这个值。解决办法:使用call将函数get默认的this指向对象 lilei。codefunction get(age,money) { console.log(this.name,age,money)}let lilei = {name:"lilei"}get.call(lilei,20,2000) // output:
2020-08-22 12:05:08
209
原创 Number对象的用法
创建方式字面量创建var num = 1;构造函数创建var num = new Number(1);相关api本身当作函数用Number(true); // output: 1;设置进制方法var num = 12;//转字符串同时,也转为2进制console.log(num.toString(2)) // output: 1100;保留小数点后n位var num = 314.00002;num.toFixed(n)...
2020-08-08 13:09:06
186
原创 数组反转原理及实现
原理定义一个新数组,让旧数组的值根据反向的下标添加进新数组。举例var arr = [1,2,3,4];这个问题考察的点在于如何获得旧数组反向的下标,涉及数组循环下标,首先考虑与arr.length的关系。目前数组下标0,1,2,3需要获取下标3,2,1,0arr.length4循环条件for(var i = 0; i < arr.length; i++) { console.log(i) // output: 0,1,2,3}根据上述已知条件可以让arr.l
2020-08-07 15:34:50
927
原创 javascript冒泡排序最详细解读
冒泡排序是什么机制有这么一组数据,要进行从小到大的冒泡排序。var arr = [23,79,40,19,57];根据冒泡排序的机制,让相邻的两个数进行两两比较,如果第一个数大于第二个数,则两个数交换位置。第一轮比较让23和79进行比较,23不大于79,位置不变79和40进行比较,79>40,两个数交换位置79和19进行比较,79>19,两个数交换位置79和57比较,79>57,两个数交换位置第二轮比较(节省篇幅:图解只展示最终结果)23和40比较,2
2020-08-07 14:27:12
391
1
原创 touch简单判断用户上滑或下拉操作
//判断touch事件var startx,starty,endx,endy;//开始点击的时候获取触点document.addEventListener("touchstart",function(e){ startx = e.touches[0].pageX; starty = e.touches[0].pageY;})//结束点击时获得触点document.addEventListener("touchend",function(e){ endx = e.chang
2020-08-03 15:42:18
696
原创 使用webpack热更新,自动编译less文件
新建工作区文件src在src文件夹内,新建编译入口文件app.js,以及所需操作的文件文件夹。初始化包管理文件npm init -y安装webpack、webpack-cli、webpack-dev-servernpm i webpack webpack-cli webpack-dev-server -D-S:–save的缩写,上线后依旧需要此依赖-D:–save-dev的缩写,只在开发阶段需要此依赖配置webpack打开package.json文件,在scripts中新增配置
2020-07-31 13:48:32
362
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人