js 变量作用域和函数作用域

2017-07-10  本文已影响65人  而生lhw

js变量作用域可分为:“全局变量”和“局部变量”

“全局变量”:申明在函数之外的变量

“局部变量”:申明在函数体中的变量,并且只能在当前函数体内访问,如:function(){ var a = 0;}  函数的参数也是局部变量,它们只在函数体内部有定义。

注:在申明变量时,凡是没有var关键字,而直接赋值的变量均为全局变量

黄金原则一:es5 没有块级作用域,只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量函数外面找不到。

黄金原则二:变量的查找是就近原则,去寻找var定义的变量,当就近没有找到的时候就去查找外层。函数域优先于全局域,故局部变量a会覆盖掉全局变量a

黄金原则三:当参数和局部变量重名时,优先级是同等的。传参时,基本类型传值,引用类型传引用,但是重新赋值以后就不是这样了。

注:参考大神资料,个人笔记记录

上一篇下一篇

猜你喜欢

热点阅读