JS/ES
文章平均质量分 87
JS相关和ES相关文章
Lee 酱
每天进步一点点
展开
-
JavaScript创建对象以及遍历对象的所有方法
遍历对象创建对象的4种方法1、使用字面量法创建对象2、通过new 一个对象 Object()方法来创建对象3、通过new 一个自定义的构造函数的方法来创建对象4、通过Object.create()方法来创建对象扩展:Object.defineProperty()扩展:Object.defineProperties扩展:Object.freeze Object.seal1、for...in创建对象的4种方法1、使用字面量法创建对象 var obj = {a: 1, b: 2}2、通过new 一个对象原创 2021-03-26 11:22:58 · 1342 阅读 · 0 评论 -
call,apply 和 bind用法区别以及手写js函数原生实现call,apply 和 bind
手写js函数原生实现call,apply 和 bind测试用例原生实现call纯ES5 实现callES6实现call调用测试用例原生实现apply纯ES5 实现applyES6实现apply原生实现bind纯ES5 实现bindES6实现bind使用call实现bind测试用例 var obj = { name: 'obj' } function test(...rest) { console.log(this.name) console.log(rest)原创 2020-12-30 16:00:26 · 200 阅读 · 0 评论 -
JS中的apply、call和bind的用法和区别
apply和call两种调用方式中的this指向,表现出来的特征就是:对象可以‘借用’其他对象的方法obj对象有一个方法fn,obj1想借用obj的方法fn,可以用obj.fn.apply(obj1)1、apply在使用apply方式使用一个函数时第1个参数为thisObject,调用时采用传入的thisObject代替函数体中this的指向 第2个参数传入一个数组,函数会用数组...原创 2020-04-07 14:37:35 · 237 阅读 · 0 评论 -
前端 js 深浅拷贝
1、深浅拷贝 我们了解到对象(引用)类型在赋值的过程中其实是复制了地址,从而会导致改变了一方其他也都被改变的情况。通常在开发中我们不希望出现这样的问题。let a = { age: 1}let b = aa.age = 2console.log(b.age) // 2 希望是1let a = { name: 'xxx', obj: { a...原创 2019-03-01 17:40:16 · 529 阅读 · 0 评论 -
数组的操作(复制数组,合并数组,删除数组,数组去重,数组遍历及区别)
1、复制数组1)浅拷贝var arr = [1,2,3]// ES5var arr1 = arr.concat()var arr2 = [].concat(arr)var arr3 = arr.slice()// ES6var arr5 = [...arr]2)深拷贝JSON.parse(JSON.stringify(arr))2、合并数组var a...原创 2020-01-13 15:25:28 · 522 阅读 · 0 评论 -
js 数组对象的方法 常用API
改变原数组的ES5push() //向数组的末尾添加一个或多个元素,返回新数组长度语法:arr.push(element1[, ...[, elementN]])pop() // 用于删除并返回数组的最后一个元素 如果数组为空,返回undefined语法:arr.pop()unshift() //返回新数组长度shift() // 删除并返回数组的第一个元素 如果数...原创 2020-01-10 19:12:14 · 437 阅读 · 0 评论