JS-NO.8

2017-07-20  本文已影响0人  _阳光很暖_

内存释放:

栈内存的形成和释放:

全局作用域:

私有作用域:

垃圾回收机制:

浏览器每隔一段事件,都会回收没用的内存,所以,当我们不用那个地址的时候,可以把占用这个地址的东西,指向空指针null;这样,等浏览器空闲的时候,就会把这个内存进行回收;

带var和不带var的区别:

上级作用域:

预解释无节操:

1)只对等号左边带var的声明,但不定义
2)条件判断语句,无论是否成立,都会进行预解释

3)自执行函数不会进行预解释,只有执行到他的时候:声明+定义+调用 同步完成
4)已经声明过的,不会进行重复声明
5)return后面语句不会进行预解释,return下面的语句虽然不执行,但会进行预解释

函数的几种写法,写法不同,导致预解释就不同

1、 函数常规写法

function fn(){....}    //按照function进行预解释; 声明+定义  var fn=xxxx;

2、把函数赋值给变量;
var fn=function(){} //表达式的写法;按照变量的规则,进行预解释; var fn; 只声明,不定义
3、把函数作为值赋值给 对象.属性名;

oDiv.onClick=function(){};  //类似于 window.f=function(){} 不会进行预解释

4、自执行函数

(function(){})();   //按照预解释中自执行函数的规定; 不会进行预解释,执行到的时候,声明+定义+调用 同步完成;
上一篇 下一篇

猜你喜欢

热点阅读