js里的this初探

来源:互联网 发布:制作手机壁纸的软件 编辑:程序博客网 时间:2024/06/03 14:08
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <script>        var x=2;        function testthis1(){            this.x=1;            alert(this.x);            //显示1        }        function  testthis2(){            this.x=1;            alert(this.x);            //显示1        }        function  testthis3(){            alert(this.x);            //显示2        }        function  testthis4(){            this.x=1;            alert(x);            //显示1        }    </script></head><body><button onclick="testthis1()">butt</button><button onclick="testthis2()">butt</button><button onclick="testthis3()">butt</button><button onclick="testthis4()">butt</button></body></html>

总得来说,和java里面是一致的,都是先从本方法里面找,找不到再去公共变量找

还有就是调用者

sm.fun(),那么this就变成了sm

如果是sm.fun(a),那么就变成了a,sm.fun.call和sm.fun.apply也是相同的,因为其实内部就是调用这些,第一个参数如果不填,那么依旧是调用者本身,如果填了,又不是原本定义时的参数,那么就是第一个参数

0 0
原创粉丝点击