关于js中的局部变量和全局变量

1.函数中的参数会覆盖局部变量声明

function fn(x) {
    
    
  /**这里函数里有参数,相当于var x,它会覆盖掉函数内部局部变量的声明 */
  console.log(x); 
  var x = 2;  
  console.log(x);
}
fn(3)

/**步骤解析:
 * fn(3)
 * function fn(3) {
 *  var x;
 *  x = 3;
 *  console.log(x);
 *  x = 2;
 *  console.log(x);
 * }
*/

显示效果:
在这里插入图片描述

2. 函数内的全局变量

function fn() {
    
    
  var a = b = 2; //规则:声明从左向右,赋值:从右向左
  console.log(a);   
}
fn()
console.log(b);

/**步骤解析:
 * fn()
 * function fn() {
 *  var a;
 *  b;
 *  b = 2;  //b为全局变量
 *  a = b = 2;
 *  console.log(a);
 * }
 * console.log(b)
*/

显示效果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Matcha_ice_cream/article/details/123963449