预解释

2018-03-11  本文已影响0人  想成为大牛的小白

1.为什么学习预解释

1)避免代码的很多不过范写法
2)带var和不带var是有区别的
3)代码写在里面和外面是有区别的;

2.什么是预解释

在当前作用域下,在JS代码执行之前,
浏览器会对带var和function的进行提前声明和定义;

3.带var和不带var的区别

1)带var的:
  1.在全局变量下,属于window的全局变量  
  2.带var的会进行预解释
2)不带var的:
  1.属于window的全局属性 
  2.不带var不会进行预解释

3.预解释的6点总结

1.只对等号左边带var 的,声明不定义。
2.已经声明过的不会重新声明,只会重新赋值。
3.在声明阶段,函数的优先级大于变量。
4.自执行函数不会进行预解释,执行到的时候,声明加定义加执行。
5.条件判断语句中,不管条件是否成立都会进行预解释。
6.return后面的语句不会进行预解释,下面的会进行预解释但是不会执行。

4.堆内存和栈内存

堆内存:堆内存用来存放引用数据类型。
栈内存:提供一个供js代码执行的环境;里面可以放轻量级数据,基本数据类型。
上一篇下一篇

猜你喜欢

热点阅读