javascript技巧

js canvas实现飞机大战

2022-05-05
本文实例为大家分享了js canvas实现飞机大战的具体代码,供大家参考,具体内容如下 首先我们绘制一个canvas区域,确实其宽高为480px*852px;水平居中 <!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" conten

JavaScript编写实现飞机大战

2022-05-05
本文实例为大家分享了JavaScript实现飞机大战的具体代码,供大家参考,具体内容如下 一.飞机大战游戏介绍: 游戏中,玩家驾驶飞机,在空中进行战斗.点击并移动自己的飞机,发射炮弹,打掉敌小型飞机.中型飞机和大型飞机,来获得分数和奖励,打掉一架小型飞机赢得3分,打掉一架中型飞机赢得5分,打掉一架大型飞机赢得10分,累加得分.撞到敌飞机命减1,当命数为0时,则游戏结束. 二. 效果图页面展示: 初始界面如图-1所示: 玩家在如图-1所示的界面的任意位置,按下鼠标左键,开始游戏. 图-1 默认分数

js判断两个数组相等的5种方法实例

2022-05-05
目录 前言 一. toString() 二.join() 三. JSON.stringify() 四.sort() 五.filter() 总结 前言 在 js 中是不能直接用 == 或者 === 来比较两个数组是否相等,那就需要对数组的值进行比较. 下面各种方法,要根据具体情况来使用. 一. toString() 当两个数组元素类型相同,顺序相同时,直接判断是否相等,结果不相等:转化为字符串后,结果相等 [1,2,3].toString() === [1, 2, 3].toString(); /

JavaScript实现前端飞机大战小游戏

2022-05-05
本文实例为大家分享了JavaScript实现前端飞机大战的具体代码,供大家参考,具体内容如下 html: <!DOCTYPE html> <html>     <head>         <meta charset="utf-8" />         <title>飞机大战</title>         <link rel="stylesheet" type="text/c

JS实现多物体运动

2022-05-05
本文实例为大家分享了JS实现多物体运动的具体代码,供大家参考,具体内容如下 实现效果图: 描述:用JS实现简单的多物体运动动画,淡出淡化效果,当鼠标放在不同div上时,div会由宽100PX慢慢变成200PX,当鼠标移开之后div恢复原状,依次来,实现多物体运动效果. 基本步骤: 1.通过getElementsByTagName获取到要做多物体运动的元素 2.然后for循环遍历元素,添加事件 3.定义startMove函数,需要两个参数,当前“做运动”的元素,和目标值target 具体代码如下:

javascript实现简单飞机大战小游戏

2022-05-05
本文实例为大家分享了javascript实现飞机大战小游戏的具体代码,供大家参考,具体内容如下 效果图 html文件 <!DOCTYPE html><html lang='zh'><head>    <meta charset='UTF-8'>    <title>mm</title>    <link rel="stylesheet" href="./css/index.css">

JS+CSS绘制棋盘格的示例代码

2022-05-04
目录 实现思路 完整代码 效果展示 在这篇文章中,我将展示如何使用 css 和一些 JavaScript 来设计棋盘. 为此,你需要对 CSS Flex-box 和 nth-child() 属性有基本的了解. 所以让我们开始吧...... 实现思路 我们将为每个偶数行添加 containerEven 类作为父容器,为每个奇数行添加 containerOdd, 下面显示了相同的 CSS .containerEven>div:nth-child(odd) { background-color: wh

javaScript深拷贝和浅拷贝的简单介绍

2022-05-04
目录 基本数据类型 在数据结构当中 引用数据类型 浅拷贝-深拷贝 浅拷贝 浅拷贝小结 深拷贝 结尾 源码地址 在了解深拷贝和浅拷贝之前,我们先梳理一下: JavaScript中,分为基本数据类型(原始值)和复杂类型(对象),同时它们各自的数据类型细分下又有好几种数据类型 基本数据类型 数字Number 字符串String 布尔Boolean Null Undefined Symbols BigInt 基本数据类型在内存当中,是存储在栈Stack 在数据结构当中 栈在内存上的分配的空间生命周期很短

js实现网页五子棋进阶版

2022-05-04
本文实例为大家分享了js实现网页五子棋进阶版的具体代码,供大家参考,具体内容如下 对比上一版本增加了音效和计时器两个模块. 代码如下 <!doctype html> <html> <head>     <meta charset="utf-8">     <title>五子棋</title>     <!--    <script src="https://cdn.staticfile.org

js+html实现网页五子棋

2022-05-03
本文实例为大家分享了js+html实现网页五子棋的具体代码,供大家参考,具体内容如下 最终效果图: 废话不多说,上源码: <!doctype html> <html> <head>     <meta charset="utf-8">     <title>五子棋</title>     <!--    <script src="https://cdn.staticfile.org/jquer

28个JS常用数组方法总结

2022-05-03
目录 1.Array.map() 2.Array.filter() 3.Array.reduce() 4.Array.reduceRight() 5.Array.fill() 6.Array.find() 7.Array.indexOf() 8.lastIndexOf() 9.Array.findIndex() 10.Array.includes() 11.Array.pop() 12.Array.push() 13.Array.shift() 14.Array.unshift() 15.Arr

小程序圆形进度条及面积图实现的方法

2022-05-03
目录 前言 效果预览 圆形进度条 说明: 面积图 最后 前言 以下两个图可以用来展示完成进度或者进度详情,图1用的是css来绘制进度条,图2用canvas来绘制面积图. 效果预览 圆形进度条 传进去的有三个参数 字段 意思 currentVal 当前值 maxVal 最大值 status 1 上涨 | 2 下跌 <circle :maxVal="maxVal" :currentVal="currentVal" :status="2" /&g

js图片上传中file、bolb、base64图片之间的相互转化

2022-05-03
JS上传图片 我们要清楚,图片的展示方式有三种:分别为file(文件流).bolb(本地流).base64(二进制流) file File 接口提供有关文件的信息,并允许网页中的 JavaScript 访问其内容. 通常情况下, File 对象是来自用户在一个 元素上选择文件后返回的 FileList 对象,也可以是来自由拖放操作生成的 DataTransfer 对象,或者来自 HTMLCanvasElement 上的 mozGetAsFile() API.在Gecko中,特权代码可以创建代表任

js数组案例之五子棋游戏

2022-05-03
本文实例为大家分享了js实现五子棋游戏的具体代码,供大家参考,具体内容如下 一.效果图 二.设计思路 第一步:创建棋盘,生成棋盘所对应的数组坐标.第二步:鼠标点击当前位置返回当前点的坐标.第三步:生成对应的棋子.第四步:添加悔棋.重新开始事件.第五步:设置棋子输赢,若某个棋子五个连成一条线,则该棋子赢. 三.核心代码 //1.创建棋盘 var item = document.querySelector(".item-map"); var itemchild = document.que

JS实现导出Excel和CSV文件操作

2022-05-03
一.js导出Excel <html> <head> </head> <body> <script type="text/javascript" src="./xlsx.core.min.js"></script> <script type="text/javascript"> /** * 通用的打开下载对话框方法,没有测试过具体兼容性 * @param url 下

再谈JavaScript中bind、call、apply三个方法的区别与使用方式

2022-05-03
call的基本使用 var ary = [12, 23, 34]; ary.slice(); 以上两行简单的代码的执行过程为:ary这个实例通过原型链的查找机制找到Array.prototype上的slice方法,让找到的slice方法执行,在执行slice方法的过程中才把ary数组进行了截取. 注意:slice方法执行之前有一个在原型上查找的过程(当前实例中没有找到,再根据原型链查找). 当知道了一个对象调用方法会有一个查找过程之后,我们再看: var obj = {name:'iceman'

一文教你如何优雅的使用WebSocket

2022-05-03
目录 简介 特性 使用场景 具体实现 一.首先是服务端代码,这里我用的是nodejs. 二.然后是客户端代码 总结 简介 websocket是基于TCP的一种双向通信协议.在此之前,一直是采用轮询的方式进行双向通信,这种方式效率低下还非常浪费资源.为了解决这种问题,websocket应运而生. 特性 双向通信:websocket使得客户端跟服务端之间交换数据变得更加简单.允许服务器主动向客户端推送数据.浏览器只需要和服务器完成一次握手,就可以创建持久性的连接,并进行双向数据传输. 实时性强: 服

js完全解析url和拼接

2022-05-01
我们经常会遇到需要自己解析url地址,或者是自己拼接url,因此我们需要一个专门对url处理的js 1.理解url url由6部分组成 例如:https://blog.csdn.net/weixin_43236062/article/details/109065450?id=1&name=huangnan ​ 协议: 常见的协议有两种,一种是http 一种是https 后面接:// 域名/ip: blog.csdn.net / 192.169.1.0 DNS服务器把域名解析成ip ​ 端口 范围

Moment.js常见用法总结

2022-05-01
Moment.js是一个轻量级的js时间处理类库,其使用简单,方便了日常开发中对时间的操作,提高了开发效率. 引用Moment.js npm install moment 常用的方法 1.moment() 获取当前的日期和时间 moment() 获取String的日期和时间 moment(String) 2.获取get 获取当天的年份 moment().get('year') 获取当天的月份 0-11 moment().get('month') 获取当天的日期 moment().get('dat

JavaScript 对象的四种方式比较详解

2022-04-30
目录 前言 1. 引用比较 2. 手动比较 3. 浅层比较 4. 深层比较 5. 总结 前言 比较 JavaScript 中的值非常简单,只需用相等运算符即可,例如严格相等运算符: 'a' === 'c'; // => false 1 === 1; // => true 但是对象却有结构化的数据,所以比较起来比较困难.在本文中,你将学习如何正确比较 JavaScript 中的对象. 1. 引用比较 JavaScript 提供了 3 种方法来对值进行比较: 严格相等运算符 === 宽松相等运算符