欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-17 22:20:10
...

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是变量名,不是函数名
  • 函数表达式的声明方式和变量的声明方式差不多,区别在于声明变量中存值,声明函数表达式中存函数