JavaScript
٩(⁎ ́ი ̀⁎)۶:.✧
学习使我快乐
展开
-
cocos creater 3.x 构建QQ小游戏
cocos creater 3.x 构建QQ小游戏详细教程及需要注意的地方,cocos creater 3.x 分辨率动态适配代码原创 2023-02-17 18:49:53 · 1310 阅读 · 0 评论 -
cocos creater 3.x 开发笔记(踩坑总结)
cocos creater 3.x 花屏闪屏黑屏、cocos creater 3.x 摄像机Layer与节点Layer不同导致UI丢失、cocos creater 3.x tween缓动动画使用opacity透明度失效原创 2023-01-31 11:13:34 · 1972 阅读 · 0 评论 -
cocos开发微信小游戏ci机器人实践
微信小程序/小游戏自动化构建上传,cocos命令行构建项目,ssh连接多台机器分工合作,.bat批处理命令编写,shell脚本编写原创 2023-01-31 10:29:17 · 604 阅读 · 1 评论 -
JS变量作用域
JS变量作用域应该注意的点原创 2022-11-20 21:35:00 · 253 阅读 · 1 评论 -
cocos draw call 优化,内存优化,网络优化,宽高适配,包体优化
cocos draw call 优化,内存优化,网络优化,宽高适配,包体优化原创 2022-07-11 13:10:30 · 1091 阅读 · 0 评论 -
模拟js数组中sort排序方法(简单实例)
模拟js数组中sort排序方法原创 2022-07-09 23:43:17 · 358 阅读 · 0 评论 -
codereview指南:使用 vs code 插件 gitlens 对比不同分支代码
codereview指南:使用 vs code 插件 gitlens 对比不同分支代码在项目评审之后,便开始编码开发,编码开发,使用正确的branch分支开发,遵循合适的Git Flow是非常有必要的。原创 2022-06-27 11:49:53 · 8723 阅读 · 2 评论 -
利用 Proxy 代理与 Reflect 反射实现 mv 模型视图,实现一个 打怪升级 的小游戏“勇士之战”
利用 Proxy 代理与 Reflect 反射实现 mv 模型视图,多层数据动态渲染页面,模仿 vue3 双向绑定中 viewModel 核心功能,实现一个 打怪升级 的小游戏“勇士之战”。原创 2022-06-08 15:03:37 · 492 阅读 · 0 评论 -
前端开发好助手,http-server静态服务器
http-server作用一个简单的静态http服务器,零配置,只要一行命令即可启动http-server安装npm install --global http-server如果安装速度慢可以使用cnpm安装cnpm i -g http-serverhttp-server使用在这里插入代码片参考文档...原创 2022-05-12 00:07:40 · 464 阅读 · 1 评论 -
用js两张图片合并成一张图片 | 下载功能
html<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <原创 2022-02-18 16:07:14 · 1542 阅读 · 0 评论 -
Cocos Creator 截屏方法 与 浏览器控制台打印图片方法
Cocos Creator 截屏方法原创 2022-02-16 17:26:00 · 3996 阅读 · 0 评论 -
TypeScript事件管理类(发布订阅模式)
/** * 事件管理类 * 事件订阅与发布 * * @export * @class EventManager */export class EventManager { /** * 事件管理数据中心 * * @private * @static * @type {{ [key: string | number]: any[] }} * @memberof EventManager */ private static _handlers: {原创 2021-12-20 20:27:22 · 595 阅读 · 0 评论 -
资源管理实现思路
在加载资源比较多的场景时,加载的进度是如何展示的呢?将所有要加载的资源保存到一个对象里面里面,统计这个对象的数量,即需要加载的资源的总数,然后异步加载资源,用加载好的数量除于要加载的资源的总数就是此时加载的进度,把这个进度按百分比展示在页面即可以实现资源加载进度条。异步加载资源管理实现思路使用 axios 配合 async/await 实现异步加载资源与同步加载资源顺序管理。加载资源使用 axios 发起网络请求,get数据,await 等待 axios 网络请求的结果,如果加载成功,则更新加载资源进原创 2021-09-15 15:21:01 · 116 阅读 · 0 评论 -
js采集图片批量下载
一、选中要采集的区域二、执行采集脚本采集代码let images = document .getElementsByClassName("stiker_content")[0] .getElementsByTagName("img");let data = Array.from(images).map((v) => v.src);sessionStorage.setItem("images",JSON.stringify(data));三、复制采集数据四、vs code原创 2021-07-16 16:38:17 · 203 阅读 · 0 评论 -
es6学习之Generator实现斐波那契数列
斐波那契数列这个数列从第3项开始,每一项都等于前两项之和。例如:0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 …js代码实现/** * 斐波那契数列 * @param {最大数} max */function* fibonacci(max) { let [prev, curr] = [0, 1]; yield prev; for (;;) { yield curr; [prev, c原创 2021-07-13 16:20:33 · 225 阅读 · 0 评论 -
vue组件传值
vue组件传值父组件给子组件传值子组件给父组件传值父组件修改子组件的值子组件修改父组件的值父组件给子组件传值实现原理父组件:添加自定义的属性与值子组件:使用props属性接收父组件:<!-- 父组件 --><template> <div id="app"> <!-- 子组件 --> <son :msg="son_msg" /> </div></template><scri原创 2021-06-28 23:45:39 · 95 阅读 · 2 评论 -
使用 Proxy 实现观察者模式
为了检验 es6 学的怎么样了,大家一起来做一到小题目吧!观察者模式(Observer mode)指的是函数自动观察数据对象,一旦对象有变化,函数就会自动执行。const person = observable({ name: '张三', age: 20});function print() { console.log(`${person.name}, ${person.age}`)}observe(print);person.name = '李四';// 输出// 李.原创 2021-06-23 20:56:52 · 336 阅读 · 1 评论 -
js实现发布订阅模式(简易版)
发布订阅模式概念发布订阅模式:订阅者(Subscriber)把自己想订阅的事件注册(Subscribe)到调度中心(Topic),当发布者(Publisher)发布该事件(Publish topic)到调度中心,也就是该事件触发时,由调度中心统一调度(Fire Event)订阅者注册到调度中心的处理代码。发布订阅模式实例/** * 发布 - 订阅模式 *///定义一个新闻发布平台//主要功能包括任务发布大厅(informationWarehouse),以及订阅任务(subscribe).原创 2021-05-28 09:41:44 · 539 阅读 · 0 评论 -
js运用闭包函数实现单例模式
运用闭包实现js单例模式运用闭包实现js单例模式闭包函数创建一个闭包函数调用闭包函数注册闭包函数调用注册好的闭包函数补充销毁闭包函数单例模式运用闭包实现js单例模式闭包函数概念:简单说就是函数中嵌套函数,嵌套在这里面的函数叫做闭包函数,外面的函数叫做闭包环境作用:通过闭包函数,可以访问到闭包函数所在局部作用域中的变量及参数特点:闭包的特点或本质:将局部变量常驻内存,这既是它的优点也是它的缺点,使用不当还会造成内存泄漏闭包的原理:闭包是利用JS中的垃圾回收机制,当一个函数被调用时,会开辟空间,函数原创 2021-05-23 10:06:44 · 617 阅读 · 1 评论 -
封装axios
vant封装axiosimport axios from 'axios';import { Toast} from "vant";export default { get: (url, _data = {}) => { return axios .get(url, { params: _data, }) .then((res) => {原创 2021-05-19 21:21:02 · 73 阅读 · 0 评论 -
JS滚动到页面底部或页面顶部
JS滚到到页面底部window.scrollTo(0, document.documentElement.clientHeight);JS滚到到页面顶部window.scrollTo(0, 0);原创 2021-05-11 17:26:27 · 800 阅读 · 0 评论 -
vue3.0安装Antd
安装Antd:: 创建 vue3 项目vue create vue_antd_1:: vue3 集成 typescriptvue add typescript:: vue3 安装 routercnpm install vue-router@next --save:: vue3 安装 vuexcnpm install vuex@next --save:: vue3 安装 sasscnpm i node-sass@5.0.0 -Dcnpm i sass-loader@10.1.1 -D.原创 2021-05-01 14:57:44 · 932 阅读 · 3 评论 -
js获取视频第一帧作为封面
/** 截取视频的第一帧*/function getVideoBase64(url) { return new Promise(function (resolve) { let dataURL = ''; let video = document.createElement("video"); video.setAttribute('crossOrigin', 'anonymous');//处理跨域 video.setAttrib原创 2021-04-25 15:59:54 · 2951 阅读 · 0 评论 -
js实现UTC时间转北京时间
/** utc转北京时间*/function utc2beijing(utc_datetime) { // 转为正常的时间格式 年-月-日 时:分:秒 let T_pos = utc_datetime.indexOf('T'); let Z_pos = utc_datetime.indexOf('.000Z'); let year_month_day = utc_datetime.substr(0, T_pos); let hour_minute_second原创 2021-04-19 11:37:40 · 2927 阅读 · 2 评论 -
vue3.0安装node-sass与sass-loader
package.json添加配置 "node-sass": "^5.0.0", "sass-loader": "^10.1.1", "vue-loader-v16": "^16.0.0-beta.5.4"cnpm i 更新依赖cnpm i解决报错peerDependencies WARNING sass-loader@^10.1.1 requires a peer of sass@^1.3.0 but none was installedpeerDepe.原创 2021-03-13 13:42:27 · 1642 阅读 · 1 评论 -
封装localStorage
//封装操作localstorage本地存储的方法const storage = { //存储 set(key, value) { localStorage.setItem(key, JSON.stringify(value)); }, //取出数据 get(key) { let data = localStorage.getItem(key); if (!(data == null || data == ''))原创 2021-03-08 18:23:41 · 91 阅读 · 0 评论 -
js 中 const 定义的值是否能更改
js 中 const 定义的值是否能更改使用const定义js基本类型 String使用const定义js基本类型 Number使用const定义js基本类型 Boolean使用const定义js基本类型 Null使用const定义js基本类型 Undefined使用const定义js引用类型 Array使用const定义js引用类型 Object使用const定义js引用类型 Function使用const定义js引用类型 Date验证例子:使用const定义js基本类型 Stringconst s原创 2021-01-24 15:48:59 · 2660 阅读 · 5 评论 -
深拷贝和浅拷贝的区别
深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用。假设B复制了A,修改A的时候,看B是否发生变化:如果B跟着也变了,说明是浅拷贝(修改堆内存中的同一个值)如果B没有改变,说明是深拷贝(修改堆内存中的不同的值)深拷贝和浅拷贝的区别浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址,深拷贝(deepCopy)是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存。深拷贝实例JavaScript中两个变量用等于进行值传递的赋.原创 2021-01-24 14:46:49 · 532 阅读 · 0 评论 -
sessionStorage操作对象
sessionStorage 操作对象谷歌浏览器查看 sessionStorage谷歌浏览器操作 sessionStorageJavaScript 测试代码// 创建 Clig 对象let Clig = { "name":"李广程", "age":21, "address":"中国"}; // JSON.stringify() // 将 JavaScript 值转换为 JSON 字符串// JSON.parse()// 将 JSON 字符串转换为对象/原创 2020-12-31 22:01:16 · 171 阅读 · 2 评论 -
js实现post跳转页面,同步跳转与异步回调
// jquery需提前引入,否则jquery加载不完全,$.post就执行了,自然会报错// js引入jquerydocument.write("<script src='https://libs.baidu.com/jquery/1.10.2/jquery.min.js'><\/script>");/** post提交:同步写法*/// 提交数据var url = "http://127.0.0.1:8080/shop/api/v1/cart/items/upda原创 2020-10-20 22:20:31 · 864 阅读 · 1 评论 -
JavaScript图片采集脚本
// 查找图片轮询imagesFunc = setInterval(function(){document.documentElement.scrollTop = document.body.scrollHeight;}, 2000);// 停止查找图片轮询clearInterval(imagesFunc);function nodeToString ( node ) { var tmpNode = document.createElement( "div" ); tmpNo.原创 2020-05-19 14:03:23 · 352 阅读 · 0 评论 -
video标签实现多个视频循环播放
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>视频合并</title></head><body> <video controls="controls" id="video">您的浏览器不支持播放该视频!</video> <script type="text/javascript.原创 2020-05-10 16:01:04 · 1470 阅读 · 0 评论 -
js 实现加载百分比效果
为了提升用户使用体验,加强网站效果,运用了这个JavaScript预加载。效果地址:http://39.105.0.128/talk/效果:html:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>加载...转载 2020-01-28 20:52:25 · 1739 阅读 · 4 评论 -
运用JavaScript写的HTML计算器
HTML计算器代码完整,运用eval()函数进行计算计算器的特色是可以使用小键盘输入数字,逻辑结构简单。使用说明:使用小键盘或者鼠标点击按钮进行输入,按空格键计算结果并显示数学算式,按回车只显示结果集,但是可以多次计算,按键盘C键清空。查看演示:http://39.105.0.128:45/chapter_3/text_3.2....原创 2019-11-12 22:10:57 · 538 阅读 · 0 评论