发表于: 2020-04-15 22:53:26

1 1476


今天完成的事

1,js知识点整理;

(1)数组方法every, some, filter, map, foreach

有着相同的参数传入:

返回布尔值:every, some

var numbers=[1,2,3,4,5,4,3,2,1];
var everyResult=numbers.every(function(item,index,array){
    return (item>2);
});
alert(everyResult);//false
 
var someResult=numbers.some(function(item,index,array){
    return (item>2);
});
alert(someResult);//true

返回数组结果:filter,map

var numbers=[1,2,3,4,5,4,3,2,1];
var filterResult=numbers.filter(function(item,index,array){
    return (item>2);
});
alter(filterResult); //[3,4,5,4,3];

var mapResult=numbers.map(function(item,index,array){
    return item*2;
});
alert(mapResult); //[2,4,6,8,10,8,6,4,2]

不返回值:foreach

var numbers=[1,2,3,4,5,4,3,2,1];
numbers.forEach(function(iterm,index,array){
    //执行某些操作
});

本质与for迭代数组一样;

(2)作用域链优化性能;

这样可以在某个全局变量被频繁访问时,更改成局部变量定义后,可以减少性能消耗,达到优化的目的;

//查找变量document必须遍历整个作用域链,直到最后在全局对象中才能找到
functionchangeColor() {
    document.getElementById("btnChange").onclick=function() {
        document.getElementById("targetCanvas").style.backgroundColor="red";
    };

};
//查找变量document可在局部变量找到
functionchangeColor() {
    vardoc=document;
    doc.getElementById("btnChange").onclick=function() {
        doc.getElementById("targetCanvas").style.backgroundColor="red";
    };
}

(3)数据深拷贝与浅拷贝;

浅拷贝——>仅拷贝对象的引用

深拷贝——>即拷贝对象引用,也拷贝对象引用的值

一维数组可用深拷贝方法:slice,concat,jQuery的方法extend

json对象:JSON的stringify与parase搭配使用;

复杂对象:自定义函数进行深拷贝

2,部分css知识点的完善;

明天的计划

1,整理框架涉及到的知识点;

遇到的问题

暂无

收获

1,验证程序完成,测试,bug修复;

https://blog.csdn.net/learning_web/article/details/103079188


返回列表 返回列表
评论

    分享到