js 中方法与参数作用域thatthis

JavaScript011

js 中方法与参数作用域thatthis,第1张

this是JS的关键字。代表函数运行时,自动生成的一个内部对象,this代表的是当前对象,只能在函数内部使用.

var that=this就是将当前的this对象复制一份到that变量中

还有---箭头函数---可以解决 that/this 作用域的问题。

没有参数

一个参数 (括号可加,可不加)

多个参数

"that"相当于function f(param){}中的param,"this"则是onclick传递给function f的参数.

参数传递后this会作为that被使用,而that.sortCol(this)中的this则是当前页,不是作为参数的this

遍历一次body下的所有元素。给各元素添加click处理函数或者mousedown处理函数。

var tgs=document.getElementsByTagName("*")

for(var i =0i<tgs.lengthi++){

var t=tgs[i]

t.onMouseDown=function(e){

var that=this

if(this.tagName &&(this.tagName==='table'||-----)){//这里判断有点粗糙,你还需要判断是否是tr或td

//该table的id或者比较别的也行,只要能判断是你需要的那个table

//改变table的样式

}else{//不是你指定的table

//恢复table的样式

}

}

}