LeanCloud白嫖valine评论和避免休眠指南
由于白嫖原因,LenCloud会自动休眠导致valine评论通知邮箱发送不了,所以这里记录了下我解决的过程 这里用服务器的cron解决,其他方法可以看这个博主的 另外一种直接在valine添加定时器的方式失败(如下图),所以就用另外一种 绑定域名1. 添加云引擎、ClientEngine 域名假设你的域名为example.com,为Valine后端分配的二级域名是xxx.example.com,那么就在域名栏内填入xxx.example.com 2.去域名管理添加CNAME解析 3.等待一会,会自动部署 4.部署完成,添加管理员账号密码 添加你的账号密码 添加一行后记得添加下你的email 避免休眠(免费的原因~)注意: !!!一定要等绑定域名显示完成后才有效果 注意: !!!一定要等绑定域名显示完成后才有效果 注意: !!!一定要等绑定域名显示完成后才有效果 因为是免费的,所以每天必须休眠 6 小时~~~ 并且单纯定时器的方式会提示因流控原因,通过定时任务唤醒体验版实例失败,建议升级至标准版云引擎实例避免休眠 所以需要解决 这里使用的是crontab命令代码 ...
canvas基本使用
canvas的基本了解 canvas仅仅只是一个画布,定义一个canvas标签,需要通过属性,属性,属性来设置宽度高度(不可以通过样式!),如果不设置默认300*150 不通过属性设置画布的宽度和高度,会造成坐标不准确的问题! canvas必须要通过js来操作 canvas的坐标是从左到右是x轴,从上到下是y轴 vscode书写canvas的时候没有提示,加上/** @type {HTMLCanvasElement} */ 1234<script>/** @type {HTMLCanvasElement} */ canvas代码书写</script> canvas的基本步骤 获取canvas的节点 画布创建画笔并选择画笔的绘制类型 开始绘制 store()方法绘制 —— stroke() 方法会实际地绘制出通过 moveTo() 和 lineTo() 方法定义的路径。默认颜色是黑色。 123456789101112131415161718192021222324252627<canvas id=&q ...
今日刷题-Object.defineProperty和Object.getOwnPropertyDescriptor
题目112345678910下列window方法中,可以显示对话框的一项是()A: confirm()B: alert()C: prompt()D: open() 答案 C 解析 A: 弹出一个判断对话框(有确认,取消按钮和提示文本),返回值为用户所按下的,为真返回true,为假返回false B: 弹出一个对话框 C: 弹出一个用户输入对话框,返回值为用户输入的值,没有输入则返回值为null D: 打开一个指定的窗口并指定打开方式 题目21234567891011121314var s = Symbol('key'); ...①console.log(s + '123'); ...②var obj = { [s]:function(){console.log(1);} ...③}var b = Reflect.ownKeys(obj); ...④A: ①B: ②C: ③D: ④ 答案 B 解析 Symbol是ES6新增的基本数据类型之一(全部基本数据类型为undefined ...
前端真题刷题-注意基础知识不要忘了基本原理
题目1123456789SVG 有多少种图形对象类型?A: 2 B: 3C: 5D: 7 答案 解析 题目212345678910111213141516以下哪个是 html5 中的 input 类型属性?(1) search(2) datetime(3) week(4) color(5) track(6) placeholderA: 1 , 2 , 3 , 4 , 6 B: 1 , 2 , 3 , 4 , 5 C: 2 , 3 , 4 , 5 , 6 D: 1 , 3 , 4 , 5 , 6 答案 解析 题目312345以下哪个不是 HTML5 中使用的媒体元素?A: <source>B: <audio>C: <track>D: <time> 答案 解析 题目412345SVG 是什么意思?A: 二级矢量图形B: 可伸缩的垂直图形C: 可伸缩矢量图形D: 三级矢量图形 答案 解析 题目512345input 元素的哪个属性将元素的值设置为表示一定范围内的数字?A: rangeB: emailC: fileD: ...
今日刷题-微任务和宏任务
题目1123456789101112131415161718192021执行以下程序,输出结果为()var a = 100;function a(){var a = 200;console.log(a);}a();A: 100B: 200C: 抛出异常D: f a(){var a = 200;console.log(a);} 答案 C 解析 首先注意,函数提升优先级高于变量提升(也就是先函数提升才轮到变量) 之前我一直以为是被覆盖…. 所以上面的代码相当于 123456789101112function a(){var a = 200;console.log(a);}var a a = 200;a = 100;a();//所以报错~ 题目212345678910111213141516171819var num = prompt('请输入分母:')try{ console.log('a'); value = 0 / num; console.log(& ...
今日刷题-类型转换必须解决
题目112345678下面结果为真的表达式是:()A: null instanceof ObjectB: null === undefinedC: null == undefinedD: NaN == NaN 答案 C 解析 A: null instanceof Object ;// false typeof null === ‘object’;// true 同理 undefined instanceof Object ; //false typeof undefined === ‘undefined’ //true B,C null 遇到二个等号( == ) 和 undefined 比较,无条件返回true null 遇到三个等号( === ) 和undefined 比较,无条件返回false D: NaN 不与 任何值相等 包括自身 题目212345678以 ...
今日刷题-原型链
题目1123456789101112请问以下两次检测对象constructor是否拥有属性名1的结果分别是什么?1 in Object(1.0).constructor;Number[1] = 123;1 in Object(1.0).constructor;A: false,falseB: false,trueC: true,trueD: true,false 答案 B 解析 in用于检测一个属性是否在指定对象上或者是其原型链上 Object 构造函数将给定的值包装为一个新对象。 比如Object({name:’李白’}) 返回 { name : ‘李白’ } Object([1,2,3,4]) 返回[1,2,3,4] Object(1.0) 返回Number(1) 也就是Number对象 1234567891011// 代码等同于var temp = Object(1.0);1 in temp.constructor;//Object[key] = value; 形式给 constructor 对象添加 key = 1 属性,对应的 value = 123 // ...
深入自定义事件和原生DOM事件($attr等)
深入自定义事件和原生DOM事件自定义事件 在组件上标签上添加的事件就是自定义事件,不管系统是否带这些事件 比如添加<自定义组件 @自定义事件 = "回调函数"></自定义组件> 那么@自定义事件在自定义组件上就是自定义事件 <自定义组件 @click = "回调函数"></自定义组件>,那么@click就是自定义事件 添加的事件如果没有传入参数,那么输出就是undefined 如图,传入了参数,单击button,输出为10,如果没有传递参数10,则输出undefined 自定义组件上绑定原生DOM事件使用native和不使用的区别,如下图 如图 自定义事件示例App.vue 12345678910111213141516171819202122<template> <div id="app"> <!-- 给自定义组件绑定自定义事件为click事件,并将事件的回调函数绑定在事件check上 --> &l ...
浅拷贝深拷贝和个人一些新理解(非普遍的理解)
预备知识 引用数据类型 Object(在JS中除了基本数据类型以外的都是对象,数据是对象,函数是对象等等) 基本数据类型 Number、String、Boolean、Null、 Undefined、Symbol 文章参考了牛客网CodeSheep 赋值 vs 浅拷贝 vs 深拷贝赋值(不能算是拷贝,因为拷贝的仅仅只是引用关系,并没有生成新的实际对象) 很常见的一种 123456789101112var a = 10;var b = 100;var obj = { name:"李白", sex:"男"}// 注意,这个严格来说是赋值,不是什么浅拷贝深拷贝!后面有原因var obj2 = obj;// 注意,这个严格来说是赋值,不是什么浅拷贝深拷贝Student codeSheep = new Student();Student codePig = codeSheep; 浅拷贝一个误区很多人说var objOrigin = {name:'李白'}; var objAfter = objOrig ...
今日刷题-重写的ValueOf
题目1123456789以下关于Histroy对象的属性或方法描述正确的是()(多选)A: back回到浏览器载入历史URL地址列表的当前URL的前一个URLB: go表示刷新当前页面C: length保存历史URL地址列表的长度信息D: forward转到浏览器载入历史URL地址列表的当前URL的下一个URL。 答案 A,C,D 解析 A: back回到浏览器载入历史URL地址列表的当前URL的前一个URL B: go() 加载history列表中的某个具体页面(可以自由跳转)。所以B的表述刷新当前页面是错误的。 history.go(2)向前移动两页 history.go(-2)向后移动两页 C: 具体可看MdnWebDocs D: 在会话历史中向前移动一页。它与使用delta参数为1时调用 history.go(delta)的效果相同。 题目212345678910111213141516171819202122以下哪些代码执行后i的值为10:(多选)A: let i =1 + { valueOf() { return ...