
JavaScript
JavaScript
Misnice
这个作者很懒,什么都没留下…
展开
-
js中for...in 和 for...of 区别
for…in 用于遍历对象的属性名,适合用于对象,而不适合数组,因为会返回数组的索引。for…of 用于遍历可迭代对象的值,适合用于数组、字符串等集合类数据,而不适用于普通对象。原创 2024-10-24 15:43:43 · 331 阅读 · 0 评论 -
js 判断变量类型的几种方法
在 JavaScript 中,有多种方法可以判断变量的类型。原创 2024-10-12 14:18:56 · 359 阅读 · 0 评论 -
js判断数组中是否存在某个对象
var arr = [{id:1,name:'王五',age:5},{id:2,name:'赵六',age:6}]; 数组的indexOf方法只能判断数组中是否存在某个元素,不能对元素进行修改或删除,存在返回当前索引不存在返回-1var arr = [1,2,3,4];arr.indexOf(1) // 0arr.indexOf(8) // -1通过遍历数组后判断对象的属性是否...原创 2019-09-23 11:26:57 · 7551 阅读 · 0 评论 -
JS字符串转数字方法和数字转字符串方法
JS字符串转数字方法和数字转字符串方法原创 2024-08-09 16:27:56 · 431 阅读 · 0 评论 -
JS数组转字符串方法和字符串转数组方法
JS数组转字符串方法和字符串转数组方法原创 2024-08-09 15:07:14 · 477 阅读 · 0 评论 -
js中将对象转换为数组的常用方法
【代码】js中将对象转换为数组的常用方法。原创 2024-07-17 16:35:40 · 439 阅读 · 0 评论 -
js 移动数组元素的几个方法
js 移动数组元素的几个方法原创 2024-07-12 12:03:01 · 1091 阅读 · 0 评论 -
js 中 new Worker 报错 Failed to construct ‘Worker‘
原因是浏览器不允许通过本地文件访问使用Web Worker。将项目部署到服务器上或者用node起本地服务访问项目。运行多线程 Web Worker 的时候报错。原创 2024-07-11 15:41:09 · 610 阅读 · 0 评论 -
js字符串的删除和修改
使用字符串的replace() 方法会返回一个新字符串。原创 2024-06-03 13:58:30 · 337 阅读 · 0 评论 -
js 将Promise改为同步操作
js 将Promise改为同步操作。async/await实现。原创 2024-05-16 21:01:14 · 1606 阅读 · 0 评论 -
js 双冒号运算符(::)
双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即this对象),绑定到右边的函数上面。双冒号运算符::是 ES7 中提出的函数绑定运算符,用来取代call()、apply()、bind()调用。原创 2024-04-01 20:43:51 · 408 阅读 · 0 评论 -
ES6新特性
1.增加块作用域2.增加 let const3.解构赋值4.函数参数扩展 (函数参数可以使用默认值、不定参数以及拓展参数)5.增加 class 类的支持6.增加箭头函数7.增加模块和模块加载(ES6 中开始支持原生模块化啦)8.math, number, string, array, object 增加新的 API...原创 2020-04-07 21:13:28 · 263 阅读 · 1 评论 -
Promise.all解决嵌套使用回调函数问题
解决地狱式回掉函数代码运行慢代码:原创 2019-12-26 21:42:41 · 1106 阅读 · 1 评论 -
如何让div中滚动条一直保持在最下方
react中让div中滚动条一直保持在最下方原创 2024-03-28 14:18:17 · 965 阅读 · 0 评论 -
import * as的使用
import * as 是将一个模块的所有导出内容作为一个命名空间对象导入到当前模块中,其中 * 表示导入该模块中的所有导出内容,而 as 则用于指定导入的命名空间对象的名称。导入的时候就可以用 import * as 把两个方法名写在一个对象里。例如:在 formatter 文件中有两个方法导出。否则导入的时候就需要把每个方法解构出来。原创 2024-03-22 10:48:28 · 1380 阅读 · 0 评论 -
ESLint错误“for的主体应该包含在if语句中以从原型中过滤掉不需要的属性”
用for in会遍历对象自身的和继承的可枚举的属性(不含Symbol属性)的键名,所以需要过滤掉不需要的继承属性。JSLint会报错,循环里面加个if判断过滤掉原型属性就好。原创 2024-03-06 10:35:36 · 1435 阅读 · 0 评论 -
js数组中的include方法
include方法原创 2022-06-10 10:33:24 · 27827 阅读 · 3 评论 -
前端处理二进制流数据,实现下载功能
前端处理二级制流数据,实现下载功能原创 2022-06-06 10:24:40 · 351 阅读 · 0 评论 -
js给数字添加千位分隔符
var a = a = 34324234.432324;a.toLocaleString()// '34,324,234.432'toLocaleString方法会返回添加千位分隔符的字符串,小数部分会根据四舍五入保留三位小数原创 2021-11-26 11:53:17 · 2176 阅读 · 1 评论 -
js数组扁平化
直接看代码let arr = [1,[[2,3],4],5]function delayeringArray(arr){ let list = [] if(arr instanceof Array){ for(let i = 0,len = arr.length;i < len;i ++){ list = list.concat(delayeringArray(arr[i])) } }else{ lis原创 2021-09-26 17:21:33 · 134 阅读 · 1 评论 -
js中数据类型转换
一、将其他类型转为数字类型1.使用Number()函数/** *字符串转数字 * 1.如果是纯数字的字符串,则直接将其转换为数字 * 2.如果字符串中有非数字的内容,则转换为NaN * 3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0 *布尔转数字 * true 转成 1 * false 转成 0 *null 转数字 0 *undefined转数字 NaN */ Number('1234') // 1234 Number('1234aa') // NaN2原创 2021-08-26 11:11:13 · 183 阅读 · 0 评论 -
js中函数参数的调用
第一种方式是直接通过形参调用,如function test(a, b) { console.log(a + b)}test(1, 2)第二种方式是通过arguments来实现函数参数的调用,需要注意的是arguments数组的长度是由实际传入的参数个数决定,不由定义函数的参数的个数决定。function test() { console.log(arguments[0] + arguments[1])}test(1, 2)...原创 2021-04-08 15:47:36 · 1697 阅读 · 0 评论 -
ES6中常用数组方法总结
1.Array.find()array.find()返回值是第一个符合条件的数组子项,找到符合条件的之后就不在继续遍历。let arr = [{ name: '张三', age: 1 }, { name: '李四', age: 2 },{ name: '王五', age: 3 }]let findItem = arr.find(item => item.name === '张三') // 返回子项console.log(findItem) // { name: '张三', age: 1原创 2021-02-20 15:31:11 · 4333 阅读 · 1 评论 -
js三种跳出循环方法的区别(break,continue,return)
1.break语句:break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。for(var i = 1; i <= 6; i ++) { if(i === 4) { break } console.log(i) } 当i=4的时候,直接退出for这个循环。这个循环将不再被执行!//输出结果:1232.continue语句:for(var i = 1; i <= 6; i ++) { if(i ===原创 2021-02-20 15:02:55 · 708 阅读 · 0 评论 -
js 深拷贝的几种方法
1.使用递归//使用递归的方式实现数组、对象的深拷贝function deepClone1(obj) { //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 var objClone = Array.isArray(obj) ? [] : {}; //进行深拷贝的不能为空,并且是对象或者是 if (obj && typeof obj === "object") { for (key in obj) { if (原创 2020-09-27 17:55:37 · 909 阅读 · 0 评论 -
JS Proxy 代理介绍
介绍Proxy是代理,可以完成对数据的处理,对构造函数的处理,对数据的验证,相当于在我们访问对象类型数据前添加了一层拦截,可以添加一些操作,可是是操作数据的,或者其他的,由自己定义。因为Proxy是构造函数,所以使用时需要new一下。语法let instance = new Proxy(target, handler);参数说明:1.target :需要使用Proxy包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。2.handler: 一个对象,其属性.转载 2020-09-22 14:02:21 · 508 阅读 · 0 评论 -
js事件循环机制
一、进程和线程 进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。 线程是进程的执行流,是CPU调度和分派的基本单位,同个进程之中的多个线程之间是共享该进程的资源的。 二、浏览器内核 浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程(也不一定,因为多个空白 tab 标签会合并成一个进程),浏览器内核(浏览器渲染进程)属于浏览器多进程中的一种。 浏览器内核有多种线程在工作。 GUI 渲染线程: 负责渲染转载 2020-09-02 20:55:13 · 302 阅读 · 0 评论 -
js遍历查找数组中最大值与最小值的方法
直接上代码<script> // 查找数组中最小值function mathMin(arrs){ var min = arrs[0]; for(var i = 1, ilen = arrs.length; i < ilen; i+=1) { if(arrs[i] < min) { min = arrs[i]; } } return min;}// 代码测试var rets = [2,4,5,6,7,0,9,10,15,1];原创 2020-08-07 16:47:01 · 4596 阅读 · 0 评论 -
js有哪些数据类型
基本数据类型:Number(数字) String(字符串) Boolean:布尔类型(true,false)特殊数据类型:Null(空) undefined(未定义)复合数据类型:Object(对象)原创 2020-08-05 14:13:25 · 382 阅读 · 0 评论 -
js字符串截取方法
字符串截取:1 取字符串的前i个字符 str=str.substring(0,i);2 去掉字符串的前i个字符 str=str.substring(i); 3 从右边开始取i个字符 str=str.substring(str.length()-i); str=str.substring(str.length()-i,str.length()); 4 从右边开始去掉i个字符 str=str.substring(0,str.Length-i);5 如果字符串中有"abc原创 2020-07-21 19:05:39 · 898 阅读 · 0 评论 -
前端处理后端返回的二进制流文件
前端处理后端返回的二进制流文件https://blog.youkuaiyun.com/znbb_/article/details/95062866原创 2020-04-13 18:24:13 · 2704 阅读 · 0 评论 -
js 截取字符串方法
var str = industry666;console.log(str .slice(8)); //666console.log(str .substring(8)); //666str .slice(0,8) //industrystr .substring(0,8) //industrystr .slice(0) //返回整个字符串str .substring(0) //...原创 2020-03-19 17:23:05 · 209 阅读 · 0 评论 -
ajax代码
$.ajax({ type: "GET", url: baseURL + "root/first/second/", contentType: "application/json", success: (res)=>{ console.log(res); }}); $.ajax({ type: "POST", url:...原创 2020-03-13 17:08:22 · 212 阅读 · 0 评论 -
前后端分离,导出数据为文件或下载文件,前端如何处理后端返回的数据
后端返回的是二进制文件流https://www.cnblogs.com/sunshine6/p/8296945.html原创 2020-03-05 17:37:04 · 2211 阅读 · 0 评论 -
js 对象添加和删除属性
声明一个js对象:var obj = { "name": "jake", "age":25}对它添加新属性的话可以使用下列方式:原创 2020-03-05 17:07:04 · 439 阅读 · 0 评论 -
js 鼠标移入移出事件
var oFlag = document.getElementById('flag');var oDiv = document.getElementById('node');//鼠标移入事件oDiv.onmouseover = function() { oFlag.style.display = 'block';}//鼠标移出事件oDiv.onmouseout = function(...原创 2020-03-03 09:46:30 · 6090 阅读 · 0 评论 -
js 将获取到的dom伪数组转为真数组
用js获取到的dom伪数组无法执行for循环便利数组,需要将伪数组转为真数组,方法如下: var liList = document.querySelectorAll('li') // 这里用forEach遍历 需要把伪数组转为真数组 // es5语法 // let newList = Array.prototype.slice.call(liList) // es6语法 le...原创 2020-02-29 19:08:40 · 2643 阅读 · 0 评论 -
js HTML标签的自定义属性的设置与获取
设置自定义属性:this.setAttribute("属性的名字","属性的值");获取自定义属性的值:this.getAttribute("属性的名字");原创 2020-02-29 19:00:12 · 335 阅读 · 0 评论 -
js 获取HTML中DOM元素的8种方法
1.通过ID获取:document.getElementById("id");2.通过name属性:document.getElementsByName("ele");3.通过标签名:gdocument.etElementsByTagName("div");4.通过类名:document.getElementsByClassName("ele");5.获取html的方法:document....原创 2020-02-28 19:12:38 · 499 阅读 · 0 评论 -
js 判断输入框没有值时,不执行后面的代码
function demo(){ if(inputObj.vale == null){ alert("请输入内容"); return; } $.ajax({ type: "GET", url: baseURL + "gen/kpaindustry/query/" contentType: "application/json", ...原创 2020-02-28 12:07:54 · 1596 阅读 · 0 评论