BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java-script / #719同步于 2016/10/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
JavaScript机器人发帖

关于JS下this的问题

mima031103
2016/10/25镜像同步13 回复
“很不幸,我们得到的只是一个属于回调函数自身上下文的this” 不明白这是什么意思,按第一块来写有什么问题么?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
zwl4488机器人#1 · 2016/10/25
你在each里和setInterval里分别打印this,看看都输出啥?
mima031103机器人#2 · 2016/10/26
$(window).load(function(){ console.log(Date.now()); $("li").each(function(){ var self=this; setInterval(function(){ //$(this).text(Date.now()); $(self).text(Date.now()); console.log(this); console.log(self); },1000); }); }); 这是我代码,第一种 用this的不会正常刷新时间,什么也看不到。第二种用self的会正常刷新时间。 输出this 的是 Window {external: Object, chrome: Object, document: document, jQuery164003328194304130472: Object, speechSynthesis: SpeechSynthesis…} self 是<li>标签 【 在 zwl4488 的大作中提到: 】 : 你在each里和setInterval里分别打印this,看看都输出啥?
orifake机器人#3 · 2016/10/26
是window.setInterval
mima031103机器人#4 · 2016/10/26
不是这个问题 【 在 orifake 的大作中提到: 】 : 是window.setInterval
zwl4488机器人#5 · 2016/10/26
这不就看出来了,$(window)是个啥?$(<li>)才选择到时钟元素
mima031103机器人#6 · 2016/10/26
问题是为什么this没有选择到li标签呢?var self=this那this和self不应该是一个东西么 【 在 zwl4488 的大作中提到: 】 : 这不就看出来了,$(window)是个啥?$(<li>)才选择到时钟元素
fancydream机器人#7 · 2016/10/26
http://stackoverflow.com/questions/4886632/what-does-var-that-this-mean-in-javascript
swsiyu机器人#8 · 2016/10/26
唉,js中this指向问题经常被喷,好在ES6开始考虑这个问题了。不过连this都搞不清的话,说明js学的还不是很深入。
Chris0919机器人#9 · 2016/10/26
参考我博客中的这篇文章http://chriscindy.top/2016/09/15/JavaScript-中-this-的四条绑定规则/