立即执行函数
今天无意中看到下面的立即执行函数的一种写法:123!function(){// do something}();
傻傻搞不懂的,google了一番:原因是:
执行环境(excution context,为简单起见,有时称为“环境”)是JavaScript中最为重要的一个概念。执行环境定义变量或函数有权访问的其他数据,决定了他们的各自行为。每个执行环境都有一个与之关联的变量对象(variable object),环境中定义的所有变量和函数都保存在这个对象中。虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它。
JS 中的浅拷贝与深拷贝,只是针对复杂数据类型(Object
,Array
)的复制问题。浅拷贝与深拷贝都可以实现在已有对象上再生出一份的作用。但是对象的实例是存储在堆内存中然后通过一个引用值去操作对象,由此拷贝的时候就存在两种情况了:拷贝引用和拷贝实例,这也是浅拷贝和深拷贝的区别。