为什么创建全局变量this就可以获取值,而创建局部变量this就无法获取值了,这是为什么
<script>
//this调用的变量可以通过两种方式获取值
var str = "第一种: 直接赋值<br/>";
var arge = "在方法外部创建对象,在方法内部通过this调用,这时,this将指向window";
function write() {
document.write(this.str , this.arge , "<br/>");
}
write();
</script>
<script>
var obj = {
str : "第二种: 方法调用<br/>",
arge : "将需要调用的参数写在一个变量中,然后通过方法进行调用,这时,this将指向obj"
}
write.apply(obj);
//也可以直接写在方法的参数列表中,如果不想写在列表中,那就只写对象名称即可
function write() {
var str = "str";
var agre = "arge";
document.write(this.str , this.arge , "<br/>");
//注意:这么写是无法获取值的
}
write();
</script>