![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js基础
longWinter666
再小的坚持,乘以365都会很明显
展开
-
js中闭包常见面试问题
function A() { let a = 1 function B() { console.log(a) } return B } 从代码中就可以大概看出闭包的定义:函数 A 返回了一个函数 B,并且函数 B 中使用了函数 A 的变量,函数 B 就被称为闭包。 经典面试题,循环中使用闭包解决 var 定义函数的问题 for ( var i=1; i<=5; i++) { setTime...原创 2019-03-05 21:26:45 · 816 阅读 · 0 评论 -
谈一谈js中的深拷贝与浅拷贝
深浅拷贝 let a = { age: 1 } let b = a a.age = 2 console.log(b.age) // 2 从上述例子中我们可以发现,如果给一个变量赋值一个对象,那么两者的值会是同 一个引用,其中一方改变,另一方也会相应改变。 通常在开发中我们不希望出现这样的问题,我们可以使用浅拷贝来解决这个问题。 浅拷贝 首先可以通过 Object.assign 来解决这个问题。 l...原创 2019-03-04 16:46:43 · 311 阅读 · 0 评论 -
async 和 await
ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是什么?一句话,它就是 Generator 函数的语法糖。 一个函数如果加上 async ,那么该函数就会返回一个 Promise async function test() { return "1"; } console.log(test()); // -> Promise {<resolved&...原创 2019-03-19 10:50:22 · 209 阅读 · 0 评论 -
如何判断一个对象是否为空{}
我们想要判断对象是否为空,像基本类型那样判断是不可以的, ==={} ?这样是错误的, 因为只是比较引用地址是否相同,所以可以采取下面的方法来进行判断 1.根据for...in遍历对象,如果存在则返回true,否则返回false for ( let i in obj) { return true; } return false 2.利用JSON自带的JSON.stringify()方法来判断 ...原创 2019-05-28 12:34:57 · 27050 阅读 · 0 评论