js
前端张子豪
这个作者很懒,什么都没留下…
展开
-
JS可选链操作符
可选链操作符转载 2022-07-04 15:15:49 · 2847 阅读 · 0 评论 -
js获取当前日期的前七天
废话不多说,直接上代码,在图标或者列表数据的时候可以用到// 获取当前日期的前7天 getDays(){ let oneDay = 24 * 60 * 60 * 1000 let endTime = new Date(Date.now() - oneDay) endTime = this.formatterDate(endTime,"yyyy-MM-dd hh:mm:ss") let startTime = new Date(Date.now() -原创 2022-01-18 10:13:09 · 5435 阅读 · 0 评论 -
js获取上一个月的时间
在写图标或者列表的时候会有获取近一个月的数据的功能,封装成函数,直接拿用,不用谢!上代码// 获取某月的最后一天 2021-2 -> 2021-2-28 getCurrentMonthLast (date){ var endDate = new Date(date); //date 是需要传递的时间如:2018-08 var month=endDate.getMonth(); var nextMonth=++month; var nextMo原创 2022-01-18 10:09:29 · 3612 阅读 · 0 评论 -
js两个json数组去重
list: [ { id: 1, name: '1日' }, { id: 2, name: '2日' }, ]arr: [ { id: 1, name: '1日'原创 2022-01-09 21:51:02 · 631 阅读 · 0 评论 -
js保留四位小数
超过4位截取保留4位,不足4位保留原位数不补0//保留4位小数 var number = 12.3321432; number = String(number).replace(/^(.*\..{4}).*$/,"$1"); number = Number(number); // number = 12.3321 //保留2位小数 var reg = /^(.*\..{2}).*$/; var number2 = 12.3; number2 = S原创 2021-12-06 16:52:26 · 6956 阅读 · 0 评论 -
js保留三位小数
// 保留三位小数 keepThreeNum(value) { let resValue = 0 //小数点的位置 let index = value&&value.toString().indexOf('.') + 1 //小数的位数 let num = value&&Math.abs(Number(value)).toString().length - index if(index .原创 2021-11-25 13:57:24 · 8178 阅读 · 0 评论 -
简单实用的Js单行代码
1、 标题、反转字符串你可以使用 split、reverse 和 join 方法轻松反转字符串。const reverse = str => str.split('').reverse().join('');reverse('hello world'); // Result: 'dlrow olleh'2、检查数组是否为空检查数组是否为空的简单单行程序将返回 true 或 false。const isNotEmpty = arr => Array.isArray(arr) &原创 2021-11-19 15:58:27 · 607 阅读 · 0 评论 -
BOM概述
什么是BOMBOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。BOM由一系列相关的对象构成,并且每个对象都提供了很多方法和属性。BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器的一部分。DOM文档对象模型 浏览器对象模型DOM就是把【文档】当作一个【对象】来看DOM的顶级对象是documentDOM主要学习的是操作页面原创 2021-10-08 16:57:19 · 351 阅读 · 0 评论 -
Js装逼指南
1、世上最快清除缓存方法<a href="javascript:alert( 清除成功 );">清除缓存</a>2、JS 错误处理的方式的正确姿势(直接定位错误原因)try { // something} catch (e) { window.location.href = "http://stackoverflow.com/search?q=[js]+" + e.message;}3、从一行代码里面学点 JavaScript(如何快速原创 2021-09-30 15:54:33 · 333 阅读 · 0 评论 -
js模拟快递单号查询
案例分析1、快递单号输入内容时,上面的大号字体盒子显示这里面的数字2、同时把快递单号里面的值(value)获取过来赋值给con盒子(innerText)做为内容3、如果快递单号里面内容为空,则隐藏大号字体的盒子4、注意:keydown和keypress在文本框里面的特点:这两个事件触发的时候,文字还没落入文本框中5、keyup事件触发的时候,文字已经落入文本框里面了6、当我们失去焦点,就隐藏这个con盒子7、当我们获得焦点,并且文本框内容不能为空,就显示这个con盒子<!DOCTY.原创 2021-09-29 19:45:43 · 1487 阅读 · 0 评论 -
js图片跟随鼠标
案例分析1、鼠标不断的移动,使用鼠标移动事件:mousemove2、在页面中移动,给document注册事件3、图片要移动距离,而且不占位置,我们使用绝对定位就可以4、核心原理:每次鼠标移动,我们都会获得最新的鼠标位置把这X和Y坐标做为图片的top和left值就可以移动图片。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name=".原创 2021-09-29 16:38:19 · 456 阅读 · 0 评论 -
jsDOM重点核心
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可标记语言(HTML或者XML)的标准编程接口。W3C已经定义了一些列的DOM接口,通过这些DOM接口可以改变网页的内容、结构和样式。1、对于JavaScript,为了能够更好的使JavaScript操作HTML,Javascript就有了一套自己的dom编程接口。2、对于HTML,dom使得html形成一个dom树,包括文档、元素、节点关于dom操作,我们主要针对元素的操作。主要有创建、增、删、改、查、原创 2021-09-29 10:31:04 · 335 阅读 · 0 评论 -
js三种动态创建元素的区别
js三种动态创建元素的区别document.write()element.innerHTMLdocument.createElement()区别:1、document.write是直接将内容写入页面的内容流,但是文档流执行完毕,则它会导致页面全部重绘。2、innerHTML是将内容写入某个DOM节点,不会导致页面全部重绘。3、innerHTML创建多个元素效率更高(不要拼接字符串,采取数组形式拼接),结构稍微复杂。4、createElement()创建多个元素效率稍微低一点,但是结构更清晰。原创 2021-09-28 17:51:29 · 369 阅读 · 0 评论 -
js动态生成表格
案例分析1、因为里面的学生数据都是动态的,我们需要js动态生成,我们进行模拟数据,自己定义好数据,数据我们采取对象形式存储。2、所有的数据都是放到tbody里面的行里面。3、因为行很多,我们需要循环创建多个行。4、每个行里面有很多单元格(对应里面的数据),我们还继续使用循环创建多个单元格,并且把数据存入里面(双重for循环);5、最后一列单元格是删除需要单独创建单元格。<!DOCTYPE html><html lang="en"><head> .原创 2021-09-28 16:59:22 · 879 阅读 · 0 评论 -
js简单的发布留言板案例
案例分析1、核心思路:点击按钮之后,就动态创建一个li,添加到ul里面。2、创建li的同时,把文本域里面的值通过li.innerHTML赋值给li。3、如果想要新的留言在后面显示就用appendChild,想要在前面显示就用insertBefore。4、当我们把文本域里面的值赋值给li的时候,多添加一个删除的链接。5、需要把所有的链接获取过来,当我们点击当前的链接的时候,删除当前链接所在的li。6、阻止链接跳转需要添加javascript:void(0);或者javascript:;。&l.原创 2021-09-28 15:18:04 · 1305 阅读 · 0 评论 -
jsTab栏制作选项卡
案例分析1、Tab栏切换有2个大的模块2、上的模块选项卡,点某一个,当前这一个底色会变,其他不变(排他思想)修改类名的方法,3、下面的模块内容,会跟随上面的选项卡变化。所以下面的模块写到点击事件里。4、规律:下面的模块显示内容和上面的选项卡一一对应,相匹配。5、核心思路:给上面的模块里面的所有元素添加自定义属性属性值从0开始。6、当我们点击上面模块的某一个li,让下面模块对应序号的内容显示,其他隐藏(排他)。<!DOCTYPE html><html lang="en"&.原创 2021-09-27 19:06:45 · 570 阅读 · 0 评论 -
js表单全选和取消全选
案例分析1、全选和取消全选做法:让下面所有复选框的checked属性(选中状态)跟随全选按钮即可2、下面复选框需要全部选中,上面全选才能选中做法:给下面所有复选框绑定点击事件,每次点击,都要循环查看下面所有的复选框是否有没选中的,如果有一个没选中的上面全选就不选中。3、可以设置一个变量,来控制是否选中。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &l.原创 2021-09-27 16:47:17 · 2522 阅读 · 0 评论 -
js排他思想(算法)
如果有同一组元素,我们想要某一个元素实现某种样式,需要用到循环的排他思想算法:1、所有元素全部清除样式(干掉其他人)2、给当前的元素设置样式(留下我自己)3、注意不能颠倒顺序,首先干掉其他人,在设置我自己<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=devi.原创 2021-09-27 15:04:26 · 474 阅读 · 0 评论 -
js密码框验证信息提示
首先判断的事件是表单失去焦点 onblur如果输入正确提示信息颜色变成绿色。如果输入的不是6到16位,提示错误信息颜色变成红色。因为里面变化样式较多,采用className来修改样式。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,.原创 2021-09-27 14:25:35 · 772 阅读 · 0 评论 -
js显示隐藏密码明文案例
案例分析1、核心思路:点击眼睛按钮,把密码框类型改为文本框就可以看见里面得密码2、一个按钮两个状态,点击一次,切换为文本框,再次点击切换为密码框3、算法:利用一个flag变量,来判断flag的值,如果是1就切换为文本框,flag值设置为0,如果是0就切换为密码框,flag值为1。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="原创 2021-09-27 11:15:19 · 2300 阅读 · 0 评论 -
js数组去重
案例分析目标:把就数组里面不重复的元素选取出来放到新的数组里面重复的元素只保留一个,放到新数组中去重核心算法:遍历旧数组,然后拿着就数组元素去查询新数组,如果这个元素在新数组中没有出现过,就添加,否则不添加。怎么知道该元素是否存在? 利用新数组的indexOf(数组元素) 如果返回 -1 就说明新数组里面没有该元素function unique(arr) { var newArr = []; for(var i=0; i<arr.length; i++){原创 2021-09-26 09:32:46 · 295 阅读 · 0 评论 -
js倒计时
核心算法:1、输入的时间减去现在的时间就是剩余的时间,即倒计时,但是不能拿着分秒相减,比如06分减去30分,结果会是负数。2、用时间戳 输入时间的总毫秒数减去现在时间的总毫秒数得到的就是剩余时间的毫秒数。3、把剩余时间总的毫秒数转换为天、时、分、秒(时间戳转换成时分秒)转换公式如下:d = parseInt(总秒数/60/60/24) //计算天数h = parseInt(总秒数/60/60%24) //计算小时m = parseInt(总秒数/60%60) .原创 2021-09-24 16:37:12 · 400 阅读 · 0 评论 -
总结的一些JS面试题
1、编写函数,求出100以内质数的和 var a = 0; for(var i = 0; i<=100; i++){ var b = 0; for(var j = 0; j<=i; j++){ if(i%j ===0){ b++; } } if(b === 2){原创 2021-03-11 14:00:39 · 253 阅读 · 0 评论