说混淆环境和对象是Javascript的根本罪恶是什么意思?

时间:2016-09-22 14:57:16

标签: javascript programming-languages

我正在观看由Shriram Krishnamurthi教授在youtube上提供的编程语言课程。

在这一集中, https://youtu.be/SUh7jhrtktk?t=1600

他说,混淆环境和物体是Javascript的根本罪。环境暴露给语言用户,用户可以操纵环境。

我不太明白他的意思。他是否指的是"这个"适用于Javascript?

是否有任何可以证明这种罪的代码示例?

1 个答案:

答案 0 :(得分:1)

经过一番挖掘,我找到了Shriram教授小组的论文。

https://cs.brown.edu/research/plt/dl/jssem/v1/

在2.5节中,他们指出不清楚JavaScript是否是词法范围,因为javascript中的范围链是由普通对象组成的,而 with 语句允许程序员将任意对象添加到范围链

我想我现在完全理解他在视频中的含义。

我强烈推荐这篇论文。它确实根据它的标题捕获了javascript的所有本质,不仅是好的部分,还有坏的部分。