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))
}
网友评论