JavaScrpit Day05 函数(下)

81 阅读2分钟

一.变量作用域

指变量起作用的范围

分类:
    全局作用域:整个is全局起作用
    区域作用域:在函数体内起作用
    
作用域访问规则:(只能向上寻找,不能向下寻找)
    在自己的作用域中寻找,有就使用
    没有就在上一级作用域中寻找,有就使用
    没有就继续向上寻找,直至到全局作用域
    如果全局作用域也没有,就会报错
    
变量赋值规则
    在自己的作用域中寻找,有就使用
    没有就在上一级作用域中寻找,有就使用
    没有就继续向上寻找,直至到全局作用域
    如果全局作用域也没有,就会将这个变量定义为全局变量,再给他赋值
    

二.递归函数

函数自身调用自身,这样的函数称为递归函数

注意:必须给递归函数设置 递归结束的条件
     必须给递归函数设置 改变递归条件的代码    
     
栗子:递归-斐波那契 1, 1, 2, 3, 5, 8, 13 ...   前两项都是 1, 后面项等于前两           项之和

    function fun(m){
        if(m=1 ||m=2){
        return 1
        }
        return (m-1)+(m-2)
        }
     fun(8)
     
     

三.对象 复杂数据类型 Object

 作用:   key/value --> 键/值对的集合

理解对象 
    现实世界  对象--〉具体的一个事物
    软件世界  对象--〉Object 
             属性 方法 
             属性名:属性值构成
             
创建对象
    var jack={}   创建空对象
    
    var jack={
        age:18,
        sex:'男',
        name:jack
        }
        访问属性的值
            console.log(jack.age)
        
        改变属性值
            jack.age=20
            
        删除属性
            delete jack.name
            
        添加属性
            jack.score:98
            
        访问属性值,属性名为变量
            var _age=age
            console.log(jack.['age'])
            
       遍历对象 for in
           for(var key in jack){
               console.log(key,jack[key])
               }
               
 创建对象的方式
     
     字面量方式
         var jack={
             age:18,
             sex:'男'
             }
             
    构造函数方式
        var jack=new Object() 空对象
        jack.age18,
        jack.sex'男'
        

四.数组 复杂数据类型 Array

    作用:储存一系列有序数据的集合
    
    创建数组
        var jack=[]    空数组
        var jack=[1, 10, 'name', ture, 56 ]
     
    索引号(下标) 0   1     2      3     4
    
        访问数组元素
           cosnole.log( jack[0])
            
        数组长度(元素个数)    
            length属性
            jack.length
            console.log(jack.length)
        
        遍历数组 for
            for(i=0;i<jack.length;i++){
                console.log(jack[0])
                }
   
   创建数组方式
       字面量
            var jack=[]   空数组
          
       构造函数
           var jack=new Array()   空数组
           
           var jack=new Array(10,20,30)
           
           创建数组只有一个元素,表示创建一个空数组,长度为5  length=5
                var jack=new Array(5)    
                console.log(jack.length)
                
                
    直接打印到控制台
        console.log(jack)