JavaScript-day04

120 阅读2分钟

一.数组应用

1.求数组中的最大值

               let arr = [ 9, 5, 3, 8, 17, 6]; 
                /* 
                第1步:定义一个变量将数组的0号元素赋值给这个变量 let table = arr[0]
                第2步:从1号下标开始遍历数组
                第3步:如果遍历 到元素比 table里的值大,将替换掉table里的值。
        
                */
               let table = arr[0]
               for(let i=1;i<arr.length;i++){
                if(arr[i] > table){
                    table = arr[i]
                }
               }
        
                console.log(table);
                

二.函数

1.函数的定义与调用

01.变量用于存储数据。

02.函数的作用:函数是用于存储代码的,可以实现一次定义多处调用。

           // 函数的作用:函数是用于存储代码的,可以实现一次定义多处调用。
           /* 
           函数的定义:
               function 函数名(){
                   // 函数体
               }  
           */
                             /* 
               函数的调用:
                   函数内的代码,默认并不会自动执行
               语法:
                   fn()
               
               */

2.函数的参数

                // 形参与实参
         
                 // 定义
                 // 形参在函数定义量的参数
                 function fn(x, y){
                     // console.log(x,y);
                     let ret = x + y;
                     console.log(ret)
                 }
                 // 调用
                 // 函数调用时的参数是实参,实参可以变量,也可以是具体的值
                 let n = 10;
                 fn(n,20);      // let x = 10   let y = 20
         
                 fn(100,200);      // let x = 100   let y = 200

函数的参数就是将函数外部数据传递到函数内部进行运算。

三.作用域

1.作用域的简介

           // 在JS中作用域可以全为三种:
               // 全局: 在函数之外就是全局
               //      全局变量:在全局定义的变量就是全局变量
       
               // 局部:在函数内部就是局部
               //      局部变量:在局部定义的变量就是局部变量
       
               // 块级:只要语法中具有{}都是块级作用域

2.变量的访问范围

// 全局变量:访问不受限制
              // 局部变量:局部变量只能在定义的函数内访问

              // 全局变量
              let a = 10;
              function fn(){
                  // 局部变量
                  let b = 20;

                  // 尝试在局部访问全局变量a
                  // console.log(a);

                  // console.log(b);
              }

              fn();

              // 尝试在全局访问局部变量b
              console.log(b);     // 报名无法访问

              // console.log(a);

3.块级作用域

            // 只要语法中具有{}都会形成一个块级作用域
            // 块级作用域只影响let声明的变量    
            // var 也是用于声明变量。
            
            // let a = 10;
            // var b = [10,20];
            // console.log(a,b);

            // var与let的区别,主要体现在块级作用域上
            // {
            //     var y = 20;
            //     let x = 10;
            // }

            // console.log(y);     // 20
            // console.log(x);     // 报错

            // console.log(n);
            // var n = 20;

            // let m = 10;
            // console.log(m);

            // let声明的变量必须先定义后使用

            // 不推荐直接为变量赋值的方式定义变量,推荐使用let
            age = 20;
            console.log(age);

4.作用域链以及链式查找

              // let a = 10
              function fn(){
                  // let a = 100
                  function fn1(){
                      // let a = 1000
                      function fn2(){
                          
                          console.log(a);
                      }
                      fn2();
                  }
                  fn1()
              }
              fn();