框架设计(一)

==getTag方法(选取dom元素)和each方法(for循环的封装)==

1.通过标签名获取dom元素





//-----------------------------------------
    function getTag(tag,results){
        results = results || [];
        
        results.push.apply(results,document.getElementsByTagName(tag));
        
        return results
    }
    
    
2.for循环方法封装
//对数组或者dom对象遍历的目的就是改查;


    arr = [2, 4, 8, 4];
    var sum=0;
    
    //求和
    for (var i = 0; i < arr.length; i++) {
        sum += arr[i]
    }
    console.log(sum)//18

    //求最大值
    var max = arr[0];
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] > max) {
            max = arr[i]
        }
    }
    console.log(max)//8

    //求最小值
    var min = arr[0];
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] < min) {
            min = arr[i]
        }
    }
    console.log(min)//2
    
    //查找
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] === 4) {
            console.log(i)//2
            break
        }
    }
    
    
    
    //    封装for循环
    
    //分析:for循环的外层都一样就是循环体不一样,
    //所以封装的思路是将循环体作为函数的参数传进去
    
    //由于在调用each函数时无法访问循环体中的i和对应的值,所以将其作为参数传进去
    function each(arr,fn){
        for (var i = 0; i < arr.length; i++) {
            fn(i,arr)
        }
    }

    //求和
    each(arr,function(a,b){
        var sum =0;
        sum+=b[a]
    })
    console.log(sum)//18
    
    //求最大值
    var max =0;
    each(arr,function(a,b){
        if(b[a]>max){
            max =b[a]
        }
    })
    console.log(max)//8
    
    //求最小值
    var min =arr[0];
    each(arr,function(a,b){
        if(b[a]
3.利用封装的getelem和each方法操作dom元素

122454
aaaaaa

我是一个兵

AAAAA

框架设计(一)_第1张图片
image.png

你可能感兴趣的:(框架设计(一))