发表于: 2021-07-19 20:54:43

1 1810


今天完成的事情:深度思考问题;新增页要实现,查看、编辑、新增;了解到写法,明天写好


明天计划的事情:新增页写好


收获:


深度思考问题:


filter()、some()、map()、forEach()了解:

forEach():对数组中的每一项运行给定函数,这个方法没有返回值。

map():对数组中每一项运行给定函数,返回每次函数调用的结果组成的函数。

filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。

some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。


path:表示 cookie 影响到的路径,匹配该路径才发送这个 cookie。

expires 和 maxAge:告诉浏览器 cookie时候过期,maxAge 是 cookie 多久后过期的相对时间。

不设置这两个选项时会产生 session cookie,session cookie 是 transient 的,当用户关闭浏览器时,就被清除。一般用来保存 session 的 session_id。

secure:当 secure值为true时,cookie 在 HTTP 中是无效,在 HTTPS 中才有效

httpOnly:浏览器不允许脚本操作 document.cookie 去更改 cookie。一般情况下都应该设置这个为true,这样可以避免被 xss 攻击拿到 cookie。


相对于for(),JS数组自定义的数组迭代方式优点:

在实现相同功能的前提下,后者除了能够节省代码量外,在实现某些功能上的流程中存在很多有意思的优势,比如forEach相比普通的for循环的优势在于对稀疏数组的处理,会跳过数组中的空位。for+i在性能测试上是优越于后者,但是前提是,array的length要事先计算出来,而在处理非常大量的数据时候,后者的优势就显而易见了。


代码实战:

<script>
    var arr = [12345];
    //every()检测数组中的每一项是否符合条件,如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测
    var result = arr.every(function (item, index) {
        return item > 6
    })
    console.log(arr);
    console.log(result);



    //some()检测数组中的某些项符合条件,如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测
    var result = arr.some(function (item, index) {
        return item > 5;
    })
    console.log(arr);
    console.log(result);



    //filter()筛选出数组中符合的项,组成新的数组
    var newArr = arr.filter(function (item, index) {
        return item > 4
    })
    console.log(arr);
    console.log(newArr);



    // forEach()让数组的每一项做一件事,forEach不支持return
    arr.forEach(function (item, index) {
        console.log(item);
    })



    //map()让数组通过某种计算得到一个新的数组
    var newArr = arr.map(function (item, index) {
        return item * 2
    })
    console.log(arr);
    console.log(newArr);



    /*分裂*/
    function total(n) {
        var yellow = function (n) {
            if (n === 0 || n === 1) {
                return 0
            }
            return green(n - 1)
        }
        var green = function (n) {
            if (n === 0) {
                return 0
            }
            return white(n - 1)
        }
        var white = function (n) {
            if (n === 0) {
                return 1
            }
            return yellow(n - 1+ green(n - 1+ white(n - 1)
        }
        return yellow(n+ green(n+ white(n)
    }


    console.log(total(0));//1
    console.log(total(1));//2
    console.log(total(2));//4
    console.log(total(3));//7
    console.log(total(4));//13
</script>




返回列表 返回列表
评论

    分享到