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

2016-11-20 19:44:20 +08:00
 FrankFang128

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

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

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

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

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

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

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

https://www.v2ex.com/t/321913

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

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

© 2021 V2EX