javascript--变量的作用域

JS中声明变量:

  var关键字,且由于JS是“弱类型”语言,变量类型可在运行时动态的确定。(所以,在JS中声明变量时,不需要确定数据类型)。

JS中变量的作用域:

  1、在页面中声明的变量,在整个页面中任何一个地方都可以访问;

  2、在JS中不存在“块级”作用域范围,所以在方法内部任何 一个地方声明变量,都是在整个方法内部有效;(所以,在JS方法中声明变量,一般在方法的第一行声明)

  3、当重复声明变量的时候,JS会自动忽略第一次以后的所有声明语句,但是赋值会正常执行;

  4、声明变量的时候,如果不写var关键字,表示该变量是整个页面都能访问的变量;(建议:声明变量时一定要加var,避免使用“全局变量”)

  5、如果遇到“全局变量”和“局部变量”冲突的情况下,优先使用“局部变量”。

【预解析】:

  函数与变量都具有“预解析”的功能:

  “变量”与“函数”具有同样的“预解析”功能,在函数的代码正式执行之前,先会解析函数中声明的所有变量,然后再执行该函数。也就是说在执行第一句代码的时候,局部变量已经声明了,但是没有赋值。(因为“预解析”只解析声明,不包含赋值语句)

原文地址:https://www.cnblogs.com/pengyouqiang88/p/5100250.html