js中的this以及jquery中的this究竟啥意思<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>function a () {
this.innerHTML="<a>xxxxxx</a>";
alert(this.innerHTML);
alert($(this).html());
};
</script>
</head><body onUnload="a()">
<div onClick="a()" style="width:10px; height:10px; background:#999;"></div>
</body>想要获取当前调用方法的对象必须要在onclick=“a(this)”的时候传进去才行么?那还要this干啥啊?搞了好久了还是搞不懂这this
<script>function a () {
this.innerHTML="<a>xxxxxx</a>";
alert(this.innerHTML);
alert($(this).html());
};
</script>
</head><body onUnload="a()">
<div onClick="a()" style="width:10px; height:10px; background:#999;"></div>
</body>想要获取当前调用方法的对象必须要在onclick=“a(this)”的时候传进去才行么?那还要this干啥啊?搞了好久了还是搞不懂这this
$(this) 是经过jq包装过的,之后可以调用html等函数
建议找本书看看。
也来等等高人指点
example:
function Rectangle(w,h){
this.width = w;
}
上面的this指向了当前被创建的对象,同java中类似。
同java类似吗 我感觉差很远啊
<script>function a () {
this.innerHTML="<a>xxxxxx</a>";
};
</script>
</head>
<body>
<div onClick="a()" style="width:10px; height:10px; background:#999;"></div>
</body>如果在java中应该div里面内容就改变了吧
obj.innerHTML="<a href='#'>xxxxxx</a>";
alert(this.innerHTML);
alert($(this).html());
};<div onClick="a(this)" style="width:100px; height:100px; background:#999;"></div>
arguments[0].innerHTML="<a href='#'>xxxxxx</a>";
alert(this.innerHTML);
alert($(this).html());
};<div onClick="a(this)" style="width:100px; height:100px; background:#999;"></div>
function a(obj) {
obj.innerHTML="<a href='#'>xxxxxx</a>";
alert(obj.innerHTML);
alert($(obj).html());
};<div onClick="a(this)" style="width:100px; height:100px; background:#999;">……
关键我问的是function中的this是什么意思啊
this.name = name;
}var person1 = new Person("ZhangSan");alert(person1.name); // "ZhangSan"
this 指向div
http://www.cnblogs.com/RitaRichard/archive/2011/10/14/2212161.html
我又回头看了一下这篇贴,this在纯粹的function中调用时貌似就是一个全局变量再问个问题 :想要获取当前调用此方法的对象难道只有在调用方法时将this传入这一个吗 还有别的方法吗?
this.innerHTML="<a>xxxxxx</a>";
alert(this.innerHTML);
alert($(this).html());
};document.getElementById("divId").onclick = a;这时的this就是指的调用方法的对象了,在这里是id为divId的div
我试过这个方法 不过很奇怪额 我测试每次都是一进入页面就执行了 不是应该点击才执行么 我都懵了
而且这个方法this貌似也只是全局变量 没有获取到指定的对象
学的时候,必须拼命理解.再难理解的,也不要质疑,多作练习测试,或者放下往前看.
山重水复疑无路,只因未迈那一步.
柳暗花明又一村,前行才能见光明.
对this的解释,现在不必告诉你,告诉你也还是难以理解,往前走,你就懂了.
<div id="divId" style="width:50px; height:50px; background-color:#F00;"></div>
<script type="text/javascript">
function a () {
this.innerHTML="<a>xxxxxx</a>";
alert(this.innerHTML);
alert($(this).html());
};document.getElementById("divId").onclick = a;
</script>
</body>
function a() {
alert(this.name);
}window.name = "Lisi";
var obj = {name: "ZhangSan"};
obj.sayName = a;
obj.sayName(); // "ZhangSan"
a(); // "Lisi"
</script>谁调用this就指向谁,当没调用时,也就是在全局作用域中调用时,this指向window
原来是指向window的啊 接触几个月了 终于能稍微理解this了 谢谢了