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是变量名,不是函数名
- 函数表达式的声明方式和变量的声明方式差不多,区别在于声明变量中存值,声明函数表达式中存函数
推荐阅读
-
JS学习【三】(流程控制语句,数组,函数)
-
JS基础-语法+流程控制语句+函数+内置对象【数组】
-
js学习-3(流程控制语句)
-
Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
-
JS基础-语法+流程控制语句+函数+内置对象【数组】
-
JS 流程控制(分支与循环)、函数的参数(不足、剩余)、函数返回值(返回数组与对象)、对象字面量的简化、模板字面量、模板函数
-
JS 流程控制(分支与循环)、函数的参数(不足、剩余)、函数返回值(返回数组与对象)、对象字面量的简化、模板字面量、模板函数
-
JS流程控制和模板字面量及模板函数的学习
-
JS流程控制和模板字面量及模板函数的学习
-
php流程控制语句基础实例学习(包含函数和类)