您好,匿名用户

如何看待javascript语言将函数作为参数互相传递,别的语言也有类似这样的设计吗?

0 投票

如题
这种设计的初衷是什么,会不会产生什么不可预知的问题?尤其是this指向的问题
别的语言有没有类似这样的设计?

用户头像 提问 5月16日 @ Kassadin 中士 (1,440 威望)
分享到:

1个回答

0 投票
 
最佳答案

这有什么奇怪的,只是javascript引入函数式编程的结果,函数式编程在javascript之前就已经出现成熟,javascript后来引入,但并没有成为一种很典型的函数式语言。lambda表达式也是在es5或者es6才引进,解决this问题。

this是面向对象语言的特征,不是函数式语言特征,函数式语言特征就是把函数作为参数传递,理论上不需要this。其他函数式语言,比如典型的python,scala,go等都和OO有关系,也有this,但this从来都没有类似js那样的问题。this可以和函数式编程很好兼容。

c#自从引入lambda表达式之后具有函数式语言特征,java8照搬,然后js才引入。

用户头像 回复 5月16日 @ Shaco 中士 (1,204 威望)
选中 5月12日 @Kassadin
提一个问题:

相关问题

0 投票
1 回复 69 阅读
用户头像 提问 2014年 8月26日 @ Vayne 中士 (1,311 威望)
0 投票
1 回复 74 阅读
0 投票
1 回复 211 阅读
0 投票
1 回复 20 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...