![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JS
文章平均质量分 62
js笔记
Schafferyy
这个作者很懒,什么都没留下…
展开
-
IE浏览器获取iframe内容高度为0
将获取iframe的代码包装在window.onload或$(document).ready()回调函数中,以确保在文档完全加载后才获取iframe内容高度。可以使用setTimeout延迟一段时间来等待内容生成,并确保在获取高度之前iframe内容已经加载完毕。在IE浏览器中,获取iframe内容高度为0的问题通常是由于iframe加载完成时无法即时获取其内容高度导致的。在上面的代码中,我们使用了一个1秒钟的延迟来等待iframe内容生成,并确保在获取高度之前iframe内容已经加载完毕。原创 2023-06-20 14:38:38 · 352 阅读 · 0 评论 -
前台导出pdf经验汇总 (html2canvas.js和浏览器自带的打印功能-print.js)以及后台一些导出pdf的方法
项目导出pdf前台导出pdf的两种方式html2canvas.js & pdf.js简介使用问题及解决方法浏览器自带的打印功能 & print.js简介使用问题及解决方法后台输出pdf利用iText导出前台导出pdf的两种方式html2canvas.js & pdf.js简介我们可以直接在浏览器端使用html2canvas,对整个或局部页面进行‘截图’。但这并不是真的截图,而是通过遍历页面DOM结构,收集所有元素信息及相应样式,渲染出canvas image。由于html2原创 2020-11-27 16:04:58 · 6079 阅读 · 5 评论 -
Js--防抖和节流学习
概念:函数防抖(debounce):触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间。函数节流(throttle):高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率。函数节流(throttle)与 函数防抖(debounce)都是为了限制函数的执行频次,以优化函数触发频率过高导致的响应速度跟不上触发频率,出现延迟,假死或卡顿的现象。防抖就是停止操作延迟多久执行回调函数,最简单的例子就是输入框打字搜索查人,如果不用防抖(debounce)函数限原创 2021-06-03 09:34:15 · 170 阅读 · 0 评论 -
JS数组中对象赋值问题(针对对象个数未知的赋值报错)
当一个数组内部元素为对象时,给数组赋值应该先给对象赋值,然后把该对象push到数组中。在控制台打印之后的数据格式为下图所示:如果在给数组赋值的时候直接给对象赋值则会报错,如下所示:下面给出两种解决办法:1、通过循环直接向每个数组元素的对象赋值2、通过先给对象赋值,然后把对象 push 进数组的方式...原创 2021-04-14 15:23:04 · 1681 阅读 · 0 评论 -
JavaScript闭包和匿名函数的关系详解
**摘要:**本文讲的是关于JavaScript闭包和匿名函数两者之间的关系,从匿名函数概念到立即执行函数,最后到闭包。下面一起来看看文章分析,希望你会喜欢。 前面讲了一篇在for循环中加setTimeout输出内容,我们用到了一个闭包,但同时也可以说是匿名函数,到底匿名函数和闭包有没有关系呢?【答案是它们之间没有关系】匿名函数匿名函数,顾名思义,就是没有名字的函数,与之对应的就是有名字的函数,也叫具名函数。//匿名函数function (){ console.log('匿名函数');}原创 2021-04-01 10:02:29 · 282 阅读 · 0 评论 -
setTimeout时间设置为0详细解析
1、setTimeout是什么首先看一下w3school上面对于setTimeout的解释setTimeout(fn,millisec) 方法用于在指定的毫秒数后调用函数或计算表达式。很简单,setTimeout() 只执行 fn 一次,到底什么时候执行取决于第二个参数millisec设定的毫秒数,所以很多人习惯上称之为延迟,无非就是延迟一段时间后再执行里面的代码。setTimeout(function(){ console.log('我是setTimeout');}, 1000);正常情况原创 2021-04-01 09:55:35 · 7304 阅读 · 0 评论 -
setTimeout的第三个参数作用
说起来你可能不相信,setTimeout居然有第三个参数,我以前也没用过这个,但最近看到一个代码解决了for循环里面加入了setTimeout的例子,下面一起看看这个setTimeout第三个参数。for(var i = 0; i<6; i++){ setTimeout(function(){ console.log(i); },1000);}看到上面的这个for例子,相信很多人都能脱口而出,它会连续输出6次6,因为setTimeout是一个异步操作,而等到执行原创 2021-04-01 09:47:29 · 470 阅读 · 0 评论 -
slice、splice、split 三者的区别
slice(切割)slice 能够截取 字符串 或 数组,并返回一个新的 字符串 或 数组(不改变原字符串或数组)功能一:截取字符串 str.slice(start,end)let str = 'hello world'// 截取下标 [2,5) 区间的字符串,左闭右开,结果为:llolet str2 = str.slice(2,5) 从 start下标 开始,保留到 end下标 的前一个结束,如果没有 end,就保留到最后一个字符结束。举一反三:除了 slice 能够截取字符串外,还有原创 2021-04-01 08:54:28 · 679 阅读 · 0 评论 -
总结一下js多种排序方式
js排序方法是个老生常谈的问题了,当然了也比较经典。现在总结下各类排序方法,如下:1.sort()方法var ar1=[2,4,6,8,1,3]var ar2=[2,16,36,8,56]ar1.sort()ar2.sort()//这个方法值只能排序第一位数 也可以字符串进行排序 // 因为会先将元素转换为字符串,用字符串的首字符进行比较console.log(ar1)//[1,2,3,4,6,8]console.log(ar2)//[16, 2, 36, 56, 8]原创 2021-02-19 10:15:21 · 473 阅读 · 2 评论 -
JS定义类的六种方式详解以及几种常用的JS类定义方法
在前端开发中,经常需要定义JS类。那么在JavaScript中,定义类的方式有几种,分别是什么呢?本文就JS定义类的六中方式说明如下(案例说明):六种方式详解1、工厂方式function Car(){ var ocar = new Object; ocar.color = "blue"; ocar.doors = 4; ocar.showColor = function(){原创 2021-02-04 11:16:08 · 3842 阅读 · 0 评论 -
moment常用操作(日期加减、获取月初月末、季度、年)
官网:http://momentjs.cn/docs/1、日期加减1.加moment('2021-01-28').add(1, 'days').format('YYYY-MM-DD')2.减moment('2021-01-28').subtract(1, 'days').format('YYYY-MM-DD')3.日期相减 var dateDiff = 0 var m1 = moment(this.reportStartTime) var m2 = moment(this.report原创 2021-01-28 09:40:39 · 13464 阅读 · 0 评论 -
export 和 export default 的区别
export命令用于规定模块的对外接口。一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。下面是一个 JS 文件,里面使用export命令输出变量。// profile.jsexport var firstName = 'Michael';export var lastName = 'Jackson';export var year = 1958;上面代码是profile.js文件,保存了用户信息。原创 2021-01-22 16:05:48 · 132 阅读 · 0 评论 -
js中slice和splice的区别
一、Array.slice() 方法可从已有的数组中返回选定的元素。slice(start,end)从哪到哪开始删除/截取start 开始索引end 结束索引,可以不传,默认截取从start往后的所有元素;索引可以为负数,从后往前截取,-1倒数第一个,-2倒数第二个;该方法不会改变原有数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。 var arr1 = ["a", "b", "c", "d", "e"]; console.log原创 2021-01-04 13:38:25 · 371 阅读 · 0 评论 -
JS之去除数组中的数据(0, 空,undefined, null, false)
1.Array.filter()arr.filter(Boolean)2.通过遍历判断数组空字符,undefined, null, false , 0转化为布尔类型都是 false;let arr=[1, , null, false, undefined, 3]let newArr= []//法1arr.forEach(item => { if (item) { newArr.push(item) }})//法2for (let item of arr) {原创 2020-12-24 11:10:24 · 2357 阅读 · 0 评论 -
js中forEach,for in,for of循环的用法
一、一般的遍历数组的方法: var array = [1,2,3,4,5,6,7]; for (var i = 0; i < array.length; i) { console.log(i,array[i]); } 二、用for in的方遍历数组for(let index in array) { console.log(index,array[index]); }; 三、forEacharray.forEach(v=&原创 2020-12-18 10:55:24 · 309 阅读 · 0 评论 -
js之foreach用法
forEach() 方法对数组的每个元素执行一次提供的函数。语法糖Array.forEach(function(value , index , array){ //value为遍历的当前元素,index为当前索引,array为正在操作的数组 //do something},thisArg) //thisArg为执行回调时的this值释义: var arr = [1,2,3,4]; arr.forEach(alert); // 等价于: va原创 2020-12-18 10:41:56 · 6335 阅读 · 0 评论 -
js中对小数取整
1、丢弃小数部分,保留整数部分parseInt(7/2) 2、向上取整,有小数就整数部分加1Math.ceil(7/2) 3、四舍五入Math.round(7/2) 4、向下取整Math.floor(7/2)原创 2020-12-17 15:54:48 · 348 阅读 · 0 评论 -
JS怎么将日期的值转换为字符串格式,分别获取年份、月份和日期
var a = "2016-2-12"var b = a.split("-");console.log('年份' + b[0] + '月份' + b[1] + '日期' +b[2])原创 2020-12-17 15:53:30 · 939 阅读 · 0 评论 -
js字符串时间相减得出相减的天数
在js中需要进行时间相减得到天数,网上日期格式的时间相减比较多,下面介绍字符串格式的日期相减方法: console.log('时间',params.bg_date, params.end_date) function DateMinus(date1, date2) { //date1:小日期 date2:大日期 var sdate = new Date(date1); var now = new Date(date2); var days = n原创 2020-12-17 10:13:36 · 1429 阅读 · 0 评论 -
JS 在数组指定位置插入/删除/替换数据的方法
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。语法糖:arrayObject.splice(index,howmany,item1,.....,itemX)参数说明:参数描述index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。item1, …, itemX可选。向数组添加的新项目。添加一个元素:vararray = [1,2,3,原创 2020-11-27 09:08:07 · 17828 阅读 · 0 评论 -
js去除重复的数
// 去除重复的数 var a = [1,2,3,3,4,4,5,6] var b = [] for (var i = 0; i < a.length; i++) { if (b.indexOf(a[i]) === -1) { b.push(a[i]) } } console.log(b)原创 2020-10-27 14:56:29 · 303 阅读 · 0 评论 -
利用js求最大值
第一种方法Math.maxJavaScript 提供了 Math.max 函数返回一组数中的最大值,用法是:Math.max([value1[,value2, ...]])值得注意的是:如果有任一参数不能被转换为数值,则结果为 NaN。max 是 Math 的静态方法,所以应该像这样使用:Math.max(),而不是作为 Math 实例的方法 (简单的来说,就是不使用 new )如果没有参数,则结果为 -Infinity (注意是负无穷大)而我们需要分析的是:1.如果任一参数不能.原创 2020-10-20 14:00:43 · 10460 阅读 · 1 评论 -
利用js函数获取当前年月日时分秒,月初月末,和前一个月时间
var date = new Date();date .getYear(); //获取当前年份(2位)date .getFullYear(); //获取完整的年份(4位)date .getMonth(); //获取当前月份(0-11,0代表1月)date .getDate(); //获取当前日(1-31)date .getDay(); //获取当前星期X(0-6,0代表星期天)date .getTime(); //获取当前时间(从1970.1.1开始的毫秒数)date .getH原创 2020-10-17 09:15:15 · 2761 阅读 · 0 评论 -
js取小数点后几位方法总结
Javascript取float型小数点后两位,例22.123456取成22.12,如何做?1.通过substring截取。function getnum(){var num = 22.123456;var result = num.substring(0,s.indexOf(".")+3);alert(result);}2. 正则表达式。function getnum(){var num = 22.123456;var aNew;var re = /([0-9]+\.[0-9]原创 2020-08-13 14:56:41 · 1676 阅读 · 0 评论