团购微信小程序开发_JavaScript中this的用法实例分

2021-01-12 16:13 jianzhan
JavaScript中this的用法实例分析       这篇文章主要介绍了JavaScript中this的用法,结合实例形式分析了this的功能、常见用法与相关注意事项,需要的朋友可以参考下

本文实例分析了JavaScript中this的用法。分享给大家供大家参考,具体如下:

一."this"公理

this关键字永远都指向函数(方法)的所有者;

function fn1(){
 this
fn1(); //this= window
oDiv. n1; //this= oDiv
oDiv. unction(){
 this //this= oDiv
 fn1(); //this= window

这里的this指向window,这里的data是被赋值,如果是var data=();那就是调用,结果还是腾讯,搜狐,新浪,百度。如果alert(.join(","));结果还是腾讯,搜狐,新浪,百度。

=["QQ","sohu","sina","baidu"]
var it=
 info:["腾讯","搜狐","新浪","百度"],
 getinfo:function()
 .join(","));
var data=;
data();

输出:QQ,sohu,sina,baidu

三.作为对象方法调用时的"this"问题

function test()
 alert(this.x);
var o={};
o.x=1;
o.t=test;
o.t();

输出:1

四.作为构造函数调用时的"this"问题

var x=2;
function test()
 this.x=1;
test();
alert(x);

输出:1

var x=2;
function test()
 this.x=1;
var o=new test();
alert(o.x);
alert(x);

输出:1,2

五.闭包中的"this"指向问题

var it=
 info:["腾讯","搜狐","新浪","百度"],
 getinfo:function()
 function abc(){
 .join(","));
 abc();
();

输出:报错,TypeError: is undefined

闭包中的this不能指向it

解决方法

var it=
 info:["腾讯","搜狐","新浪","百度"],
 getinfo:function()
 var _this=this;
 function abc(){
 .join(","));
 abc();
();

优点:无论外部函数名字(it)

更多关于JavaScript相关内容可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》

希望本文所述对大家JavaScript程序设计有所帮助。