首页 新闻 会员 周边

关于js this指向的问题

0
悬赏园豆:20 [已解决问题] 解决于 2017-07-06 22:41

这个的this是 undefined  应该怎么修改呢

懂得。的主页 懂得。 | 初学一级 | 园豆:181
提问于:2016-11-09 13:39
< >
分享
最佳答案
0

因为你的这个this的函数是匿名函数啊,这样会指向全局变量,如果不是匿名函数会指向包含this的函数,如果你想指向上级的函数,那就在上一级声明一下:

function fn(){
var that=this;
function(){
//在这用that就指向fn函数
}

}

 

收获园豆:20
野生小前端 | 菜鸟二级 |园豆:222 | 2016-12-28 12:00

还是不懂我私聊我,我为你详细解答

野生小前端 | 园豆:222 (菜鸟二级) | 2016-12-28 14:34
其他回答(4)
0

你var了一个Modal,然后再里面又声明了一个function的Modal,function里的this是指向的function,当然获取不到你在下面定义的save了。

么么兮兮 | 园豆:184 (初学一级) | 2016-11-09 13:49

但是this为什么是undefined  呢

支持(0) 反对(0) 懂得。 | 园豆:181 (初学一级) | 2016-11-09 13:50
0

 一般情况下this是全局变量即window对象,这里是有严格模式this默认为undefined。你可以返回一个new Modal()来返回,使得this绑定一个新建的对象,就可以使用save方法了。

授之以渔 | 园豆:1107 (小虾三级) | 2016-11-09 14:19
0

你用require(,Modal) 。 实际上会执行Modal 函数,相当于调用Modal();   在非严格模式下 ,this指向window。 在严格模式下this不容许直接指向window,为undefined。  应该这么写 require(【‘jquery’,‘common’】,function(){return new Modal()})

btg.yoyo | 园豆:67 (初学一级) | 2016-11-09 14:37
0

this,就是谁调用就是谁

爱吃de馒头 | 园豆:255 (菜鸟二级) | 2016-11-18 21:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册