闭包是如何产生的?

大家好,我是前端西瓜哥。

这次从内存管理的角度来看看,闭包是怎么产生的。

我们知道,在调用函数时,其实会产生临时的 调用栈。这些调用栈保存的是 执行上下本,并实际保存在 栈内存 中。

每执行一个函数,函数内的局部临时变量会临时保存起来。如果此时函数又调用了另一个函数,另一个函数下的局部变量也要保存下来,就这样,我们产生了栈。

当一个函数执行完后,它对应的局部临时变量就会被销毁。

局部变量保存下来,是为了保护上下文现场。

阅读更多

用原型链的方式实现一个 JS 继承

这是一道非常经典的面试题。最近面试的时候被问到了,因为很久没复习,而且在工作中也很少会实现这种东西,结果支支吾吾了半天没有回答出来,心情非常沮丧。所以我就复习了一下,写下了这篇文章,在巩固知识的同时,希望读者也能够掌握这个面试题涉及的知识点。

阅读更多