Javascript
文章平均质量分 75
Hansel.Wn
现在从事软件开发工作.
展开
-
Canvas 画布的旋转
这个方法是又Canvas的context提供的,它接收一个参数,这个参数指的是当前绘图顺时针旋转的角度,如上面代码所示,rotate方法的参数是“Math.PI / 6”,所以绘图应该会沿顺时针方向旋转30度。首选,我定义了一个1000*1000的正方形画布,然后在画布上绘制了两条交叉的分割线,用来定位整个画布的中心点,也是我希望围绕着旋转的中心点。上图就是最终渲染出来的效果,这是目前我想到的一种解决办法,还是感觉有点不太满意,大家有比较好的解决办法吗?如果希望绘图按照逆时针方向旋转呢?原创 2024-04-16 16:33:00 · 534 阅读 · 0 评论 -
Canvas 画布基本用法详解
lineWidth属性定义在画布中绘制时要使用的线条宽度。必须在调用 stroke() 方法之前设置。属性定义在画布中绘制时要使用的样式。必须在调用 stroke() 方法之前设置。lineCap属性定义线的端部样式(butt、round 或 square),默认为 square(方形)。必须在调用 stroke() 方法之前设置。原创 2024-04-15 19:42:21 · 587 阅读 · 0 评论 -
前端JS 使用input完成文件上传操作,并对文件进行类型转换
如上图所示,这是input type="file"在页面上渲染出来的原生的样式,但是在项目中实际使用时我们一般都会设置一个自定义的样式,毕竟原生的样式通常和我们的页面风格不统一。直接在input标签上写CSS代码不起作用,在项目开发中通常使用隐藏input标签,然后在input标签上层覆盖一个自定义的标签,然后我们对这个自定义的标签设计样式。-- 设置 opacity: 0;原创 2023-11-18 16:02:58 · 2238 阅读 · 0 评论 -
JavaScript中的异步编程
异步编程,是JavaScript编程中重要的一部分,最近学习了阮一峰老师的《深入掌握 ECMAScript 6 异步编程》系列文章,特意输出一篇学习笔记原创 2023-10-12 21:06:04 · 270 阅读 · 0 评论 -
递归算法以及简单应用
市考试院要组建一场全市范围的考试,全市范围内大概有一百到两百数量的学校,简单的select选择操作过于繁琐,这里需要通过选择区县的方法来默认选择区县下属的所有学校。递归算法,是通过重复将问题分解为同类的子问题而解决问题的方法,它的表现形式一般为函数的自调用。如下图所示,页面上是一个三层的树形结构,用户点击市级或者区县级节点时,我期望得到的数据是其下属所有学校的ID存放到一个数组中。当然,在这个循环调用的过程中我们一定要设置一个临界值,当满足条件时就停止递归,否则无限制的调用下去就形成了一个死循环。原创 2023-03-21 22:40:34 · 108 阅读 · 0 评论 -
JavaScript中Promise的简单使用及其原理
Promise是ES6最重要的特性之一,今天来系统且细致的研究一下Promise的用法以及原理。按照我往常的理解,Promise是一个构造函数,有all、resolve、reject、then、catch等几个方法,一般情况下,在涉及到异步操作时才会用到Promise。原创 2023-03-18 07:30:00 · 952 阅读 · 0 评论 -
SignalR+WebRTC技术实现音视频即时通讯功能
端对端通讯时,首先是教师端向学生端发送数据流,当学生端收到数据流后,并不会进行显示,而是调用onAddStream方法把这个数据流添加进来,然后学生端把本身的数据流发送给教师端,教师端收到数据流后,同样调用onAddStream方法,然后我们在onAddStream的回调方法中,把接收到的数据流进行渲染和显示。连接实际建立完成之后,就可以通过连接对象的invoke方法来调用集线器中的方法,invoke方法的第一个参数是对应集线器中请求方法的名字,第二个参数是调用方法携带的参数;然后是候选者交换与检测连接;原创 2023-03-15 21:02:50 · 1385 阅读 · 0 评论 -
javascript:在foreach循环完成之后执行一个回调函数
javascript:在foreach循环完成之后执行一个回调函数。原创 2023-03-10 21:21:40 · 4553 阅读 · 0 评论 -
JavaScript 开发中常用函数
我希望根据用户输入的URL来判断是学生登录还是教师登录,这里就需要判断URL的最后是studentLogin还是teacherLogin。为例,拆分后获取到一个length为5的数组,通过访问数组下标就可以获取URL最后一段的值。,这个方法的返回值是一个字符串。字符将字符串拆分成数组。原创 2022-11-21 14:36:10 · 393 阅读 · 0 评论 -
JS 原型与原型链
面向对象的语言有三个基本特征:封装、继承、多态。 ————这是我以前学Java的时候印象最深的一句话。现在流行的高级语言越来越多,那到底什么是面向对象?面向对象是相对与面向过程编程来说的(C语言就是一门面向过程编程的语言)。面向对象编程的思想中,有两个主要的概念类:有相同的特征和行为的事务的抽象对象:类的一个实例我们知道ECMAScript中没有类的概念,所以,JavaScript有别于传统的基于类的面向对象语言,JavaScript的面向对象和Java等高级语言的面向对象不同点在于,它没有抽原创 2022-05-24 07:30:00 · 215 阅读 · 0 评论 -
JavaScript中函数的“形参”不是必须的
函数对于任何语言来说都是一个核心概念,通过函数可以封装任意多条语句,并且可以在任何地方任何时候调用执行。函数语法示例:// 定义函数function functionName(arg0, ar1,...,argN){ // TODO }...functionName(1,2); // 通过函数名调用已定义的函数如上所示,我们通过function关键字定义一个函数,并且可以给函数一个任意的函数名,函数名后面是一个参数列表,最后,用花括号包裹着任意多条代码组成的函数体,这就是一个基本的函数定义原创 2022-01-26 00:01:47 · 2831 阅读 · 0 评论 -
JavaScript中的label语句
label语句的用法,是给代码中添加标签,以便于后面代码中使用。代码示例:na:for(var i = 0; i < 10; i++){ console.log(i);}在上面的代码中,for循环的前面有一个na:,这就是label语句的写法,按照我的理解,就是给这个for循环添加了一个标签,在之后的代码里,na标签代表的就是这个for循环。在实际使用中,label标签一般会在循环嵌套中和break、continue这两个语句结合使用:start:for(var i = 0; i原创 2022-01-25 22:08:21 · 1566 阅读 · 0 评论 -
JavaScript中的操作符
一元操作符一元操作符可以作用于数值类型和非数值类型,当作用于非数值类型时,会先将非数值转换为数值类型,然后再进行一元运算。递增递减操作符使用++、--两种符号表示递增和递减,同时根据符号位置的不同,又分为前置递增递减和后置递增递减:递增递减操作符前置时,先执行递增递减操作,再执行其他运算递增递减操作符后置时,先执行其他运算,再执行递增递减操作var num1 = 10;var n = ++num1; // 前置递增,先执行递增计算,再对n进行赋值,所以,n=11,num1=11var n原创 2022-01-25 17:45:59 · 678 阅读 · 0 评论 -
JavaScript中的数据类型
ECMAScript中有五种基本数据类型和一种复杂数据类型基本数据类型:Undefined、Null、Boolean、Number、String复杂数据类型:Object除了这六种数据类型之外,ECMAScript不允许创建任何自定义数据类型,因此,在JavaScript中,所有的值都是上述六种数据类型之一。typeof操作符在前面一篇文章中提到过,JavaScript中的变量都是松散类型的,有时候我们就需要一种手段来检测这个变量中的数据类型,typeof就是用来检测给定变量中数据类型的操作符。原创 2022-01-25 00:33:52 · 124 阅读 · 0 评论 -
JavaScript中的变量
ECMAScript中的变量是松散类型的,所谓的松散类型就是可以用来保存任何类型的数据。var example; // 只定义变量使用关键字var定义了一个名为example的变量,example这个变量可以用来保存任何类型的值。在上面的代码中,只是定义了一个变量,并没有进行赋值,像这种未经过初始化的变量,它的值是undefined。var example = 1; // 使用var声明变量example,同时直接初始化变量。局部变量和全局变量:使用var关键字定义的变量,它的只在这..原创 2022-01-24 21:26:57 · 525 阅读 · 0 评论 -
Ajax - 基础
Ajax技术,在2005年第一次正式出现, 是web2.0时代的标志,推动web开发技术向纵深发展。XMLHttpRequest对象XMLHttpRequest对象是Ajax的基础,在JavaScript中,XMLHttpRequest用于在后台与服务器交换数据,使浏览器可以在不重载整个页面的情况下,进行局部的数据更新。创建XMLHttpRequest:var xhr = new XMLHttpRequest();// 所有的浏览器实现的XMLHttpRequest对象都踢动相同的接口与方法创原创 2022-01-14 18:29:29 · 333 阅读 · 0 评论 -
JavaScript中Array对象的常用方法
Array对象工作很长时间了总是搞不清楚Array几个参数,趁着晚上有空,把一些常用的方法做一个分析记录。Array 对象用于在变量中存储多个值:var arr = [11, 22, 33];arr.map(p1,p2)返回一个新数组,不会改变原数组,不会对空数组进行检测参数1:p1是一个回调函数,会对arr进行遍历,并对每一个元素进行运算,并依次返回运算结果let newArr = arr.map((c) => { return c;});console.log(newAr原创 2021-12-21 21:37:11 · 891 阅读 · 0 评论