目录
一、流程控制
1. if 语句
if (条件表达式) {
// [如果] 条件成立执行的代码
} else {
// [否则] 执行的代码
}
//if else if 语句(多分支语句)
if (条件表达式1) {
语句1;
} else if (条件表达式2) {
语句2;
} else if (条件表达式3) {
语句3;
....
} else {
// 上述条件都不成立执行此处代码
}
//打印九九乘法表
<script>
var str='';
for(var i=1;i<=9;i++){
for(var j=1;j<=i;j++){
str += j+"*"+i+"="+i*j+'\t';
}
str+='\n';
}
console.log(str);
</script>
2. 三元表达式
表达式1 ? 表达式2 : 表达式3;
- 如果表达式1为 true ,则返回表达式2的值,如果表达式1为 false,则返回表达式3的值
3. switch 语句
switch( 表达式 ){
case value1:
// 表达式 等于 value1 时要执行的代码
break;
case value2:
// 表达式 等于 value2 时要执行的代码
break;
default:
// 表达式 不等于任何一个 value 时要执行的代码
}
注: 执行case 里面的语句时,如果没有break,则继续执行下一个case里面的语句。
4.for 循环
for( 初始化变量; 条件表达式; 操作表达式 ){
//循环体语句
}
//双重 for 循环
for (外循环的初始; 外循环的条件; 外循环的操作表达式) {
for (内循环的初始; 内循环的条件; 内循环的操作表达式) {
//需执行的代码;
}
}
5.while 循环
//while循环
while (条件表达式) {
// 循环体代码- 条件表达式为 true 时重复执行循环体代码
}
//do while 循环(至少会执行一次循环)
do {
// 循环体代码
} while(条件表达式);
6.continue break
continue | 跳出本次循环,继续下一次循环 |
break | 立即跳出整个循环(循环结束) |
二、数组
1. JS 中创建数组的两种方式:
- 利用 new 创建数组
var 数组名 = new Array() ;
var arr = new Array(); // 创建一个新的空数组 Array中 第一个A大写
- 利用数组字面量创建数组
//1. 使用数组字面量方式创建空的数组
var 数组名 = [];
//2. 使用数组字面量方式创建带初始值的数组
var 数组名 = ['A','B','C','D'];
数组中可以存放任意类型的数据,例如字符串,数字,布尔值等。
var arrStus = ['小白',12,true,28.9];
2. 遍历数组
var arr = ['red','green', 'blue'];
for(var i = 0; i < arr.length; i++){
console.log(arr[i]);
}
/*red
green
blue */
3. 数组的长度
使用“数组名.length”可以访问数组元素的数量(数组长度)。
var arr = [1,2,3];
alert(arr.length); // 3
注:
- 数组的长度是数组元素的个数。
- 当数组里的元素个数发生变化,length 跟着一起变化。
2)数组转换为字符串
var arr = ['red', 'green', 'blue', 'pink'];
var str = '';
var sep = '!';
for (var i = 0; i < arr.length; i++) {
str += arr[i] + sep;
}
console.log(str); //red!green!blue!pink!
4. 数组中新增元素
1)通过修改 length 长度新增数组元素
- 通过修改 length 长度来实现数组扩容的目的
- length 属性是可读写的
2)通过修改数组索引新增数组元素
- 通过修改数组索引的方式追加数组元素
- 不能直接给数组名赋值,否则会覆盖掉以前的数据
var arr=['reb','green','blue'];
arr[3]='pink';
arr[4]='white';
arr[0]='yellow';
console.log(arr);//(5) ['yellow', 'green', 'blue', 'pink', 'white']
// 不能直接给数组名赋值,否则会覆盖掉以前的数据
arr='1234';
console.log(arr);//1234
三、 函数
1. 函数的使用
1)声明函数
function 函数名( ) {
//函数体代码
}
- function 是声明函数的关键字,必须小写
- 由于函数一般是为了实现某个功能才定义的, 所以通常我们将函数名命名为动词,比如 getSum
2)调用函数
函数名(); // 通过调用函数名来执行函数体代码
- 调用时不要忘记添加小括号
- 注:声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码。
- 例:利用函数计算1-100之间的累加和
function add (){
var sum=0;
for(var i=1;i<=100;i++){
sum+=i;
}
console.log(sum);
}
//调用函数
add();//结果:5050
2. 函数的参数
1)形参和实参
声明函数时,在函数名称后面的小括号中添加的参数为形参,在调用该函数时,传递相应的参数为实参。
参数的作用 : 在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。
// 带参数的函数声明
function 函数名(形参1, 形参2 , 形参3...) { // 可以定义任意多的参数,用逗号分隔
// 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3...);
2)函数参数的传递过程:
// 声明函数
function getSum(num1, num2) {
console.log(num1 + num2);
}
// 调用函数
getSum(1, 3); // 4
getSum(6, 5); // 11
- 调用的时候实参值是传递给形参的
- 形参简单理解为:不用声明的变量
3)函数形参和实参个数不匹配问题
function sum(num1, num2) {
console.log(num1 + num2);
}
sum(100, 200); // 300(形参和实参个数相等,输出正确结果)
sum(100, 400, 500, 700); // 500(实参个数多于形参,只取到形参的个数)
sum(200); // NaN(实参个数少于形参,多的形参定义为undefined,结果为NaN)
注:在JavaScript中,形参的默认值是undefined。
3. 函数的返回值
1)return 语句
语法格式:
function 函数名(){
...
return 需要返回的值;
}
函数名(); // 此时调用函数就可以得到函数体内return 后面的值
- 在使用 return 语句时,函数会停止执行,并返回指定的值
- return 只能返回一个值。如果用逗号隔开多个值,以最后一个为准。
- 如果函数没有 return ,返回的值是 undefined
//函数返回注意事项
//1.return 终止函数
function sum(num1,num2){
return num1+num2;
alert('不执行'); //return 语句之后的代码不被执行。
}
console.log(sum(1,2)); //3
//2.return 只能返回一个值
function fun(num1,num2){
return num1,num2; //如果用逗号隔开多个值,以最后一个为准。
}
console.log(fun(1,2)); //2
// 例:求两个数加减乘除结果
function result(num1,num2){
return [num1+num2,num1-num2,num1*num2,num1/num2];
}
console.log(result(1,2)); //返回一个数组[3,-1,2,0.5]
//4.如果函数没有 return ,返回的值是 undefined
function fun1(){
return 123;
}
console.log(fun1()); //123
function fun2(){
}
console.log(fun2()); //undefined
2)arguments的使用
当我们不确定有多少个参数传递的时候,可以用 arguments 来获取。在 JavaScript 中,arguments 实际上是当前函数的一个内置对象。所有函数都内置了一个 arguments 对象,arguments 对象中存储了传递的所有实参。
arguments展示形式是一个伪数组,因此可以进行遍历。
补:伪数组特点:
- 具有 length 属性
- 按索引方式储存数据
- 不具有数组的 push , pop 等方法
例:利用函数求任意个数的最大值
function Max() {
var max = arguments[0];
for (var i = 0; i < arguments.length; i++) {
if (max < arguments[i]) {
max = arguments[i];
}
}
return max;
}
console.log(Max(2, 4, 5, 9)); //9
console.log(Max(12, 4, 9)); //12
3)函数的两种声明方式
1. 自定义函数方式(命名函数)
function fn() {...}
// 调用
fn();
调用函数的代码既可以放到声明函数的前面,也可以放在声明函数的后面
2. 函数表达式方式(匿名函数)
// 这是函数表达式写法,匿名函数后面跟分号结束
var fn = function(){...};
// 调用的方式,函数调用必须写到函数体下面
fn();
- 因为函数没有名字,所以也被称为匿名函数
- 这个fn 里面存储的是一个函数
- 函数表达式方式原理跟声明变量方式是一致的
- 函数调用的代码必须写到函数体后面