1、函数形参与实参匹配问题

  1. 如果实参的个数和形参的个数一致则正常输出结果
  2. 如果实参的个数多于形参的个数,会取到形参的个数
  3. 形参可以看做是不用声明的变量 num2是一个变量但是没有接受值 结果就是undefined
  1. <script>
  2. // 实现任意两个数相加的功能
  3. // 参数num1和参数num2叫形参
  4. function add(num1, num2) {
  5. var sum = num1 + num2;
  6. console.log(sum);
  7. }
  8. // 参数5和8, 叫做实参
  9. add(5, 8);
  10. add(100, 200);
  11. console.log('------任意两个数累加------')
  12. //任意两个数累加
  13. function add2(a, b) {
  14. var sum = 0;
  15. for (var i = a; i <= b; i++) {
  16. sum += i;
  17. }
  18. console.log(sum);
  19. }
  20. // add2(1, 100);
  21. // add2(20, 80);
  22. // add2(100, 200);
  23. add2(100); // a的值为100, b的值为undefined
  24. </script>
  1. <script>
  2. // 基本数据类型参数传递
  3. function add(a, b) {
  4. var sum = a + b;
  5. a = 11;
  6. b = 22;
  7. console.log(sum);
  8. }
  9. var num1 = 10;
  10. var num2 = 20;
  11. add(num1, num2);
  12. console.log('a:' + num1, 'b:' + num2);
  13. debugger;
  14. // 引用数据类型参数传递
  15. function test(obj) {
  16. console.log(111);
  17. console.log(222);
  18. obj.age = 200;
  19. }
  20. var person = {
  21. name: 'lh',
  22. age: 100
  23. }
  24. test(person);
  25. console.log('age:', person.age); //200
  26. </script>