JavaScript(基础知识注意点2)
2016-03-24 本文已影响0人
种谔
-
方法和变量的提升次序
方法表达式只会提升var变量,不会提升function本身。
方法声明会把整个声明提升到作用域顶部,仅次于变量声明。 -
函数内参数重复声明结果
如果在函数内部定义同名变量,变量的初始值就是参数值。
例如:fn(2)//2```
-
隐式声明
变量前面不加var,会导致变量的作用域变广,变成全局变量。
例如:
rest();
s //10```
***注:不要采用该类声明,记得采用严格模式。不然自己挖的坑,自己填。***
- 作用域
JS中变量的作用域是以函数做划分的,所以很多时候采用闭包的方式私有化变量。
作用域链会导致变量不断往上层作用域寻找,一直到顶部,找不到会报错。
- 立即执行函数的影响范围
立即执行函数不影响其他变量,单独成立一个空间,空间内部的不影响外部。