2-15问题

2-15问题

2-15自定义组件里面 在定时器外面要先定义 var vm=this;这是为什么呢 我试了没有先定义var vm=this,直接在下面的代码里面使用this.time发现定时器不会倒数了 这是为什么呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕夭夭 2019-01-06 10:59:42

你好同学 ,并不是这样的 ,this如果指向的window ,那么它只能访问到window下面的变量 。同学可能是记相反了 ,全局变量可以在局部作用域中访问 ,而局部作用域的变量不能在全局下访问到的 。

这里也是一样的 ,你使用指向window的this相当于在全局作用域下面使用变量 ,自然拿不到局部作用域里面的 变量。

希望解答了你的疑惑 , 祝学习愉快 ,望采纳 。

好帮手慕糖 2019-01-04 18:31:48

同学你好,因为计时器中的this执行是不同的哦。计时器外面的是当前的组件。计时器中的this指向的是window,所以才在计时器前,使用一个变量来接收下this,然后在计时器中使用。可以输出测试下哦。例:

http://img1.sycdn.imooc.com//climg/5c2f31d00001e4a805730143.jpg

http://img1.sycdn.imooc.com//climg/5c2f31d80001e0fe07220078.jpg

希望能帮助都你,欢迎采纳。

祝学习愉快!

  • 老师,如果定时器里面的this指向window对象,不是应该可以访问到所有的变量,包括time吗?
    2019-01-04 19:42:59
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师