[教程] JS 里的 this 到底是什么?

2016 年 11 月 20 日
 FrankFang128

请移步至 https://zhuanlan.zhihu.com/p/23804247

考虑到 V2 好长时间没有什么技术相关的文章,就搬运一篇最近的文章过来讨论讨论。

最近两个月我在知乎上写了一系列的前端科普文章,水平一般,大家喜欢的话就关注下。

GitHub : github.com/frankfang 知乎: https://www.zhihu.com/people/zhihusucks/activities

4641 次点击
所在节点    JavaScript
21 条回复
vow
2016 年 11 月 20 日
正在学 js ,多谢!
thinkif
2016 年 11 月 20 日
这篇写的好,通俗易懂,没有废话
FrankFang128
2016 年 11 月 20 日
@thinkif 谢谢。 不过其实我觉得废话还是较多的,有些重要的地方故意说两边。
FrankFang128
2016 年 11 月 20 日
这帖子多长时间才能 append ……
FrankFang128
2016 年 11 月 20 日
为什么这帖子发了两遍,请删除另一篇 @Livid https://study.congcong.us/t/321912#reply0
pyufftj
2016 年 11 月 20 日
华科的学弟来膜一下~_~
bdbai
2016 年 11 月 20 日
通俗易懂,支持楼主。
建议再介绍一下箭头函数的情况,这个应该没法用 function.call 解释了。
SilentDepth
2016 年 11 月 20 日
@bdbai 箭头函数就是 function.bind 嘛
Yien
2016 年 11 月 20 日
收藏,感谢。
liujiangbei
2016 年 11 月 20 日
hasbug
2016 年 11 月 20 日
感谢分享
hanzichi
2016 年 11 月 20 日
"考虑到 V2 好长时间没有什么技术相关的文章"

感觉 v2 不是聊技术,是用来灌水的 ...
FrankFang128
2016 年 11 月 20 日
@hanzichi 两年前没这么水的……
bdbai
2016 年 11 月 20 日
@SilentDepth 箭头函数压根没有 this ,也没有用 bind 改变 this 一说。
VtoEXL
2016 年 11 月 21 日
原来方应杭就是你啊
FrankFang128
2016 年 11 月 21 日
@VtoEXL 隐藏这么久被你发现了
SilentDepth
2016 年 11 月 21 日
@bdbai
(arg) => {exp;}
function (arg) {exp;}.bind(this)
这二者效果相同。当然你要追究其里那确实不一样,不过也无非是强制绑定了上下文以及无法`new`而已
FrankFang128
2016 年 11 月 21 日
@SilentDepth 你们俩好像是一个意思
SilentDepth
2016 年 11 月 21 日
@FrankFang128 大概是对同一件事的不同视角导致的不同观点
geektony
2016 年 11 月 21 日
其实这些问题,看完 You Don't Know JS 这个 series 基本都搞定了,不需要看文章

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/321913

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX