作用域和值类型引用类型的传递

1、作用域和值类型引用类型的传递

  var num1 = 44;
  var num2 = 55;

  function getNum(num, num1) {
    // 当传参进来时,相当于声明了两个变量,并且被赋值两个实参
    // var num = num1
    // var num1 = num2
    num = 100;
    num1 = 100;
    num2 = 100;

    console.log(num) //100
    console.log(num1) //100
    console.log(num2) //100
  }
  getNum(num1, num2)

  console.log(num1) //44  函数内声明的num1 属于局部变量,这里要找全局变量 num1  所以等于44
  console.log(num2) //100  当函数执行的时候,其中的num2,在函数内没有声明,num2会去找全局变量,且把它赋值为100,这里num2的全局变量就为100
  console.log(num) //num is not defined     函数内声明的num 属于局部变量,这里要找全局变量 num1 没有被定义所以报错

 

 
posted @ 2022-06-15 11:02  张小中  阅读(17)  评论(0编辑  收藏  举报