JS学习【三】(流程控制语句,数组,函数)

1.流程控制语句

1.1 switch 的注意事项

  • 所判断的值必须要和case后面的值全等(===)才算匹配
  switch (i) {
    
    
    case 1:
      console.log('number 1');
      break;
    case '2':
      console.log('String 2');
  }

  // i = 1  => number 1
  // i = '1' => ''
  // i = 2 => ''
  // i = '2' => String 2

1.2 循环的断点

  • 在浏览器中选择source
  • 左键单击行号
  • 刷新网页

2. JavaScript数组

2.1 数组的创建

2.1.1 用new 的方式创建数组

var arr = new Array();

2.1.2 利用字面量的方法创建数组

  • 数组中可以存放任意类型的变量
var arr = ['a', 2, true, 2.8]

2.2 数组元素的新增

  • 可以通过修改数组索引的方式追加数组
  • 对比于C Java固定长度的数组,这数组更像Java的Array类,长度随意增加
  var arr = [1, 2, 3, 4];
  arr[4] = 5;
  arr[6] = 7;

  console.log(arr); // => [1, 2, 3, 4, 5, empty, 7]

3. 函数

3.1 函数形参与实参个数不匹配

  • 实参个数等于形参个数,输出正常
  • 实参个数多余形参个数,只取前面的值
  • 实参个数小于形参个数,多的形参定义为undefined(如下中的y),输出结果是实参 + undefined
  function getSum(x, y) {
    
    
    console.log(x + y);
  }

  getSum(1,3); // => 4
  getSum(1, 2, 3); // => 3
  getSum(1);// => NaN

3.2 函数 return 后面没有值

  • 返回undefined
  function f() {
    
    
    return
  }

  console.log(f()); // => undefined

3.3 arguments的使用

  • 不确定有多少个参数传递的时候,不设置形参也可以,用arguments对象来获取。在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。
  • arguments是个伪数组,有length属性,按照索引的方式存储数据,但没有数组的方法 ,如push等
  function getSum() {
    
    
    console.log(arguments);
    var sum = 0;
    for(var i = 0; i < arguments.length; i++){
    
    
       sum += arguments[i];
    }
    console.log(sum);
  }

  getSum(1, 2, 3, 4);
  // => [1, 2, 3, 4]
  // =>	10

3.4 函数的两种声明方式

3.4.1 命名函数

  • 就是我们最常用的声明方式
function f(){
    
     }
f();

3.4.2 函数表达式(匿名函数)

var f = function(aru){
    
    
    console.log(aru);
}

f('a'); // => a
  • f是变量名,不是函数名
  • 函数表达式的声明方式和变量的声明方式差不多,区别在于声明变量中存值,声明函数表达式中存函数

猜你喜欢

转载自blog.csdn.net/qq_43249043/article/details/108107300