JS の高度な - クロージャー - 再帰 - 深いコピーと浅いコピー

クロージャは関数と参照コンテキストの組み合わせです

閉鎖の主な機能は、さまざまな汚染を回避することです

        function fn1 () {
            let age = 10
            function fn2 () {
                //fn2函数中引用了fn1中的变量
                console.log(age);
            }
            fn2()
        }
        fn1() //10

再帰: 関数内で自分自身を呼び出す

        function fn1 () {
            console.log('haha')
            fn1()
        }
        fn1()  //haha

ディープコピー:

        let obj = {
            name: '张三',
            age: 20,
            hobby: ['学习', '上课', '干饭']
        }
        //1).把obj转成json格式字符串,底层会自动深拷贝
        let jsonStr = JSON.stringify(obj)

        //2).把json转成对象
        let newObj = JSON.parse(jsonStr)

        newObj.name = '李四'
        newObj.hobby[0] = '游戏'
        //此时修改了newObj的属性值对原obj没有影响
        console.log(obj, newObj); 

おすすめ

転載: blog.csdn.net/m0_67296095/article/details/124741033