对象中解决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里 ,而不是直接等于里边内容,经过测试,发现直接等于的话虽然没有显示报错,但是鼠标并未点击时产生了点击结果,证明不能这样
posted @ 2021-09-12 16:39  心懒了♀麻木来了  阅读(59)  评论(0编辑  收藏  举报