
js
爱编程的梨清
向往成为前端大佬
展开
-
js优雅的数组去重方式
js数组对象去重原创 2022-12-30 09:32:54 · 379 阅读 · 1 评论 -
什么是跨域?怎么解决跨域问题
1.概念:首先浏览器是同源策略,端口号相同,协议相同,域名相同,这种策略会对浏览器有安全作用,而跨域是打破了这种同源策略,任意一个地方不同都会导致跨域2.解决办法:cros:后端设置 1. res.setHeader('Access-Control-Allow-Origin',‘*’) 2. res.setheader('Access-Contaol-Allow-Methods','GET,PUT,OPTIONS,POST')jsonp:利用script标签可以跨域请求资源原创 2022-05-19 16:48:03 · 178 阅读 · 0 评论 -
js中的Map和Set对象
一、Map对象Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值)都可以作为一个键或一个值。map.set(key,value) 设置值map.get(key) 获取值map.size()获取集合的大小map.delete(key)删除map的某一项map.has(key) 查看map集合是含有该键元素map.clear()清除所有的键值对const map = new Map()// 1. map.set(key,value)是设置值map.set('原创 2022-05-19 16:10:02 · 2392 阅读 · 0 评论 -
js数组方法总结
数组方法join(分隔符) 将数组转为字符串 var arr=[1,2,3,4] console.log(arr.join()); // 1,2,3,4 console.log(arr.join(':')); // 1:2:3:4实现重复字符串 function repetStr(str,n){ return new Array(n+1).join(str) } console.log(repetStr('嗨',5));原创 2022-05-19 16:07:17 · 273 阅读 · 0 评论 -
js字符串方法总结
一、字符串方法concat(str2,[str3…]) 用于把两个或多个字符串组合起来,返回一个新的字符串使用str1.concat(str2,str3…)concat 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。concat 方法并不 影响原字符串。如果参数不是字符串类型,它们在连接之前将会被转换成字符串。 var str1='hello' var str2='world' var str3='Vue' var str4='Re原创 2022-05-19 16:06:01 · 485 阅读 · 0 评论 -
js实现数组扁平化
实现数组扁平化概念: 把多层嵌套的数组中的内容取出,变成一维的数组。一、使用递归实现遍历数组,判断每一项是否是数组,如果是就继续调用自己的函数方法 // 判断子项是否为数组 如果为数组继续调用 var arr=[[1,2,3],[[4],[5]],6] function flatten(arr){ let res=[] arr.forEach(v=>{ if(Array.isArray(v)) {原创 2022-05-19 15:57:05 · 231 阅读 · 0 评论 -
什么是Promise,它有什么用
promise是异步编程的一种解决方案,从语法上来说,它是一个对象,可以获取异步操作的信promise的状态三种状态:pending(进行中),fullfiled(成功),rejected(失败)。除了异步操作的结果,任何其他操作都无法改变这三种状态。promise对象只有:从pending变为fullfiiled和rejected的状态改变。只要处于fulldiled和rejected,状态就不会再变了即resolved(已定型)状态缺点无法取消promise,一旦创建就立即执行,.原创 2022-04-12 20:28:40 · 244 阅读 · 0 评论 -
浅谈对象的深拷贝和浅拷贝
浅谈对象的深拷贝和浅拷贝一、为什么使用对象的拷贝?1.在普通数据类型赋值 let a=10 let b=a a=20 console.log(a)//a=20 console.log(a)//b=10因为普通数据类型的变量和数值存放在栈内存中可以直接改变a与b没有任何关联2.在引用数据类型赋值 let obj1={ name:'小彭', age:20 } let obj2=obj1 obj1.name=原创 2022-04-05 16:32:48 · 969 阅读 · 0 评论 -
浅谈js的运行机制
js的运行机制一、js的同步程序和异步程序1.同步程序指主线程上排队指向的任务,只有前一个任务执行完毕,才能执行下一个任务,当我们打开网站时,网站的渲染过程,比如元素的渲染,其实就是一个同步任务。2.异步程序异步程序是值不进入主程序,而进入任务队列,只有任务队列通知主线程,某个异步任务可以指向了,该任务才能进入主线程,当我们打开网站,像图片的加载,音频的加载,就是一个异步任务。异步任务一般是ajax,计时器,读取文件同步任务执行完毕后才会执行异步任务二、js是单线程以一个例子进行验原创 2022-04-04 21:31:07 · 4352 阅读 · 0 评论 -
js中的this指向问题
js中的this指向问题一、在全局环境下全局环境下this指向window console.log(this); //Window对象二、this在方法中方法中的this指向调用这个方法的对象let obj={ name:'王也', fn1:function Fun(){ console.log(this); } } obj.fn1() //结果为 {fn1: ƒ Fun() name: "王也"}三、事件中的this事件原创 2022-04-04 20:37:30 · 196 阅读 · 0 评论 -
call,apply,bind的区别以及应用
call,apply,bind的区别以及应用一、call和apply,bind可以修改this的指向但是bind比较特殊 详解在下面第二条let obj1 = { name: "彭于晏", sayHello: function () { console.log('Hello '+this.name); }}let obj2 = { name:'胡歌'}obj1.sayHello()// 结果为 Hello 彭于晏// 使用call改变this指向obj1.sa原创 2022-04-04 20:12:31 · 409 阅读 · 0 评论 -
防抖与节流
防抖与节流一、防抖1)使用原生js实现简单防抖 <input type="text"> <script> var inp=document.querySelector('input') var t=null inp.oninput=function(){ if(t!==null) { clearTimeout(t) } t=setTimeout(()=>{ con原创 2022-04-03 15:31:53 · 139 阅读 · 0 评论 -
js的数据类型以及区别
javascript的数据类型以及区别6种基本数据类型Undefined Null Boolean Number Symbol String一种复杂数据类型Object引用数据类型Array Function Object基本数据和非基本数据类型的区别基本数据类型是不可变的 非基本数据类型是可变的基本数据类型是不可变的 一旦创建就无法更改,但非基本数据类型是以改变的,意味着一旦创建了对象,就可以更改它将基本数据类型与其值进行比较,这意味着如果两个值具有相同的数据类型并具有相等的值原创 2022-04-02 21:42:01 · 891 阅读 · 0 评论 -
js高阶函数的返回值
js高阶函数的返回值以一个例子进行展开只要找出大于30的值返回true 不符合的返回falselet arr=[18,24,60,25,32,42]//filter用于对数组的过滤,返回是一个数组let res1= arr.filter(v=>v>30)console.log(res1);// 返回值是[60,32,42]//some用于筛选部分符合的元素,返回值是布尔值let res2=arr.some(v=>v>30)console.log(res2)原创 2022-04-02 21:50:51 · 245 阅读 · 0 评论 -
js数组去重的三种方法
javascript数组去重的三种方法方法一使用set方法构造Set()的实例,使用Set的add方法添加元素, 因为Set 中的元素是唯一的,所以目前是去重的对象使用Array.from把对象转为数组就okfunction removeRepete(array){ let newSet=new Set() array.forEach(v => { newSet.add(v) }); return Array.from(ne原创 2022-04-02 21:35:18 · 1922 阅读 · 0 评论 -
javascript实现字符串反转
javascript实现字符串反转使用了字符串拆分为数组,数组合成字符串方法var a=helloa=a.split('')//分割为数组 ['h','e','l','l','o']a=a.reverse()//数组序列反转 ['o','l','l','e','h']a=a.join('')//数组转化为字符串 olleh...原创 2022-04-02 21:15:44 · 771 阅读 · 0 评论