一、 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> // this : 这个 // this: 指的是调用 当前 方法(函数)的那个对象 function fn1(){ // this } // fn1(); this => window // oDiv.onclick = fn1; this => oDiv /* oDiv.onclick = function (){ fn1(); fn1() 里的this => window }; <div onclick=" this fn1(); "></div> fn1(); 里的 this 指的是 window */ // alert( this ); // object window // window 是 JS “老大” // window.alert( this ); function fn1(){ alert( this ); // window } // fn1(); // window.fn1(); </script> </head> <body> <input id="btn1" type="button" value="按钮" /> <input id="btn2" type="button" onclick=" fn1(); " value="按钮2" /> <script> var oBtn = document.getElementById('btn1'); // oBtn.onclick = fn1; oBtn.onclick = function (){ // this fn1(); }; </script> </body> </html>
二、
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script>
/*
alert(this);window
fn1(this);
function fn1(obj){
obj => window
}
oDiv.onclick = function (){
this
fn1(this);
};
function fn1(obj){ obj => oDiv }
*/
window.onload = function (){
var aBtn = document.getElementsByTagName('input');
var that = null;// 空
for(var i=0; i<aBtn.length; i++){
/*
aBtn[i].onclick = function (){
// this.style.background = 'yellow';
that = this;
fn1();
};
*/
aBtn[i].onclick = fn1;
}
function fn1(){
// this=> window
// that.style.background = 'yellow';
// this.style.background = 'red';
}
};
</script>
</head>
<body>
<input type="button" value="按钮1" />
<input type="button" value="按钮2" />
<input type="button" value="按钮3" />
</body>
</html>
三、
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
li { width:100px; height:150px; float:left; margin-right:30px; background:#f1f1f1; position:relative; z-index:1; }
div { width:80px; height:200px; background:red; position:absolute; top:75px; left:10px; display:none; }
</style>
<script>
window.onload = function (){
var aLi = document.getElementsByTagName('li');
var that = null;
for( var i=0; i<aLi.length; i++ ){
aLi[i]. = function (){
that = this;
fn1();
};
aLi[i]. = function (){
this.getElementsByTagName('div')[0].style.display = 'none';
};
}
function fn1(){
that.getElementsByTagName('div')[0].style.display = 'block';
}
};
</script>
</head>
<body>
<ul>
<li>
<div></div>
</li>
<li>
<div></div>
</li>
<li>
<div></div>
</li>
</ul>
</body>
</html>