函数 数组 递归函数 遍历对象 for-in

发布于:2023-01-11 ⋅ 阅读:(163) ⋅ 点赞:(0)

作用域:变量起作用范围
    全局作用域 : 在的数体中作用范围
(在function外定义的变量)
    局部作用域 : 
整个js全局起作用(在function内定义的变量)
   访问规则:当级==》上级==》全局==》全局找不到报错
    
   赋值规则:当级==》上级==》全局==》声明一个变量后赋值
 
递归函数:函数自身调用自身
    注意 :必须有结束条件和改变递归条件

    递归解决那些问题?后面结果由前面推导出来,可以采用递归简化实现
  function f(n){
            if(n == 1){
                return 1
            }
            return f(n-1) * n
        }
        var m = f(4)
        console.log('前三项乘积',m)

对象:对象 》Object    属性名:属性值,
创建对象
            var jackObj = {}  //创建空对象
            var jackObj = {
                name:'jack',   //姓名属性 => name属性名和jack属性值构成
                age:18,  // 年龄属性 => age属性名和18属性值构成
                sex:'男' // 性别属性 
            }  
复杂数据类型
             var obj = {name:'jakc',age:18}
             obj 数据类型名 -> Object

 四、创建对象-new语句
            字面量方式
                var obj = {
                    name:'jack',
                    age:18
                } 

            构造函数方式
                var obj = new Object()  //空对象
                obj.name = 'jack',
                obj.age = 18

<script>
        // 创建一个姓名是jack,年龄是18岁,性别是男的对象
        // obj称为对象名, 也可以叫引用变量
        // 通过对象名访问对象属性  对象名.属性名 ->属性值

        // 1.创建对象
        var obj = {
            name:'jack',
            age:18,
            sex:'男'
        }

        // 2. 访问属性的值
        console.log('name :', obj.name)
        console.log('age :',obj.age)
        console.log('sex :',obj.sex)

        // 3. 修改属性值
        obj.name = 'rose'
        console.log('name ',obj.name)

        console.log(obj)
        // 4. 删除属性
        // delete obj.name
        console.log(obj)

        // 5. 添加属性
        obj.score = 98
        console.log(obj)
        
        // 6. 遍历对象 for-in 
        for(var key in obj){
            // key = 'name'  key='age' ...
            console.log('key ',key, ' value ',obj[key])

        }

        // 7. 访问属性值,属性名是变量情况
        console.log( 'name ',obj.name)
        var _name = 'name'
        console.log(obj[_name])
        console.log(obj['name'])
<script>
            //1. 创建数组
            var arr = [10, 20, 30, 40]
                    //  0   1   2   3
            //2. 访问数组元素
            console.log('arr[0] :', arr[0], ' arr[1] :', arr[1])

            //3. 数组长度
            console.log('length >> :', arr.length)

            //4. 遍历数组, 循环变量表示数组索引号从0开始
            for (var i = 0; i < arr.length; i++) {
                console.log(arr[i])
            }

            // 5. 构造函数创建数组
            var arr1 = new Array(100, 200, 300, 400, 500)
            for (var i = 0; i < arr1.length; i++) {
                console.log(arr1[i])
            }

            // 6. 创建数组只有一个元素, 表示创建一个空数组长度是5 length=5
            var arr2 = new Array(5)
            console.log('arr2.length >>> ', arr2.length)
            for (var i = 0; i < arr2.length; i++) {
                console.log(arr2[i])
            }

            // 7. 直接控制台打印
            console.log(arr);

</script>
 


网站公告

今日签到

点亮在社区的每一天
去签到