js-day16

作者: Rosemarry丶 | 来源:发表于2017-12-13 20:45 被阅读0次

A.我今天学了什么

1.this指向

    var div = document.getElementsByTagName("div")[0]
    function fn(){        
          alert(this)
    }
    // 
    // fn.call(div)
    fn.apply(div)

    /*
    call()
    apply()
    第一个参数 都是可以改变this指向 , 就是  从第二个参数开始一个书数组 一个正常  apply() 这个 传数组  

    如果没有第一个参数 。可以赋值 null

     */
call后面写什么,this就指向它

2.绑定事件封装

    var div = document.getElementsByTagName("div")
    on(div[0],"click",function(){
        alert(this)
    } )

    // 绑定事件  封装
    function on(obj,event,fn){
        if(obj.addEventListener){
            return obj.addEventListener(event,fn,false)
        }else{
            return obj.attachEvent("on"+event,function(){
                fn.call(obj)
            })
        }
    }

3.select

    var sel = $("select")
    // 当对象或选中区的内容改变时触发。
    on(sel,"change",function(){
        console.log(typeof this.value)
        console.log(document.body)
        switch(Number(this.value)){
            case 1:
            document.body.style.background = "red";
            break;
            case 2:
            document.body.style.background = "green";
            break;
        }
    })
    var arr = ["澄迈","老城","台湾","高雄","阿里山","河南","武汉","湖南"]
    for(var i =0;i<arr.length;i++){
        
        // var opt = document.createElement("option")
        // opt.innerHTML = arr[i];
        // opt.value = i;
        // sel.add(opt,null)
        // sel.options.add(new Option(arr[i],i))
    }

相关文章

  • js-day16

    A.我今天学了什么 1.this指向 2.绑定事件封装 3.select

网友评论

      本文标题:js-day16

      本文链接:https://www.haomeiwen.com/subject/mwgzixtx.html