js中this关键字有时候表示当前js所在页面的window对象,有的时候表示所引用对象,关键看this使用的地方和使用的方式。例如:
<script type="text/javascript">
function car(name,price){
this.name = name;
this.price = price;
}
window.onload = function(){
var Mycar =new car("jin",123);
alert("Mycar = "+JSON.stringify(Mycar) + " window.name = " + window.name);
}
</script>
执行后显示如下:
去掉new关键字后:
<script type="text/javascript">
function car(name,price){
this.name = name;
this.price = price;
}
window.onload = function(){
var Mycar =car("jin",123);
alert("Mycar = "+JSON.stringify(Mycar) + " window.name = " + window.name);
}
</script>
执行后:
第一个使用mycar使用new了个对象car,那个car方法执行时this代表了mycar对象
第二个mycar是执行方法,执行对象是window对象,因此this代表的是window