JavaScript笔记2

目录

一、流程控制

1. if 语句

2. 三元表达式

3. switch 语句

4.for 循环

5.while 循环

6.continue break

二、数组

1. JS 中创建数组的两种方式:

2. 遍历数组

3. 数组的长度

4. 数组中新增元素

三、 函数

1. 函数的使用

2. 函数的参数

3. 函数的返回值


一、流程控制

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 里面存储的是一个函数  
  • 函数表达式方式原理跟声明变量方式是一致的
  • 函数调用的代码必须写到函数体后面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值