对象中解决this指向问题
<script> window.onload = function(){ var p = new t(); } function t(){ this.a=10; var _o=this; var p=document.getElementById("t"); p.onmousedown = function(){ _o.p(); } } t.prototype.p = function(){ alert(this.a); } </script>
方法1:
var _o=this;
写一个变量存一下。
方法二:使用bind函数强制改变this指向
这里我代码中使用的方法一,疑问是这里
p.onmousedown = function(){ _o.p(); }
为什么要套在function里 ,而不是直接等于里边内容,经过测试,发现直接等于的话虽然没有显示报错,但是鼠标并未点击时产生了点击结果,证明不能这样