只能是粗浅的,毕竟js用法太灵活. 首先抛概念:闭包(closure)是函数对象与变量作用域链在某种形式上的关联,是一种对变量的获取机制.这样写鬼能看懂. 所以要大致搞清三个东西:函数对象(function object).作用域链(scope chain)以及它们如何关联(combination) 首先要建立一个印象,在js中,几乎所有的东西可以看作对象,除了null和undefined.比如常用的数组对象.日期对象.正则对象等. var num = 123; // Number var ar…
在JavaScript中,使用var创建变量,会创建全局变量或局部变量. 只有在非函数内创建的变量,才是全局变量,该变量可以在任何地方被读取. 而在函数内创建变量时,只有在函数内部才可读取.在函数外部时,调用函数也无法读取局部变量. function test(){ var g = 5; } // 提示无法读取未定义属性 console.log(test().g); var c = new test(); // 出现一个没有属性的test对象 console.log(c); // undefin…
众所周知,缓存是提高数据库性能的一个重要手段.本文着重讲一讲PostgreSQL中的缓存相关的东西.当然万变不离其宗,原理都是共同的,理解了这些,你也很容易把它运用到其它数据库中. What is a cache and why do we need one 不同的计算机组件运行的速度是不一样的,他们的差距很大,一般都是数量级级别的差距.比如速度上磁盘<RAM<system cache(如下图).在数据量小的时候你可能觉察不出差异,但是尤其在现在这个大数据的时代,你很轻易就能感知他们的差异,比…