![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
ayao_00
这个作者很懒,什么都没留下…
展开
-
深拷贝与浅拷贝,如何进行浅拷贝和?
1.浅拷贝:浅拷贝是只拷贝这个对象的指针,而不是对象本身,新旧对象共用同一个内存地址,修改新对象会影响旧对象。 let obj = { id: 1, name: 'Andy', msg: { age: 20 } } let o = {} for (let k in obj) { o[k] = obj[k] } console.log(o) //语法糖浅拷贝: Object.assign(o, obj) 2.深拷贝:深拷贝就是新建一个一模一样的对象原创 2020-08-11 09:43:54 · 252 阅读 · 0 评论 -
如何使用闭包?闭包的主要作用是什么?
1.闭包是什么? 闭包就是一个作用域访问了另外一个函数内部的作用域变量 //fun函数可以访问fn函数内部的num变量 function fn () { let num = 10 function fun () { console.log(num) } fun() } fn() 2.闭包的主要作用是什么? 第一种写法: function fn1() { let n = 1 function fn2() { console.log(n) } // 直接将fn2函原创 2020-08-02 20:41:02 · 317 阅读 · 0 评论 -
apply和call方法的区别?各自有什么特点?
1.apply方法的使用 //改变this的指向 let o = { name: 'Andy' } function fn(a,b) { console.log('你好呀') console.log( a + b) } fn.call(o, 2,7) //用call实现继承 Fucntion Father(name,age) { this.name = name; this.age = age } Father.prototype.sing = function() { conso原创 2020-07-25 14:41:52 · 178 阅读 · 1 评论