我正在观看由Shriram Krishnamurthi教授在youtube上提供的编程语言课程。
在这一集中, https://youtu.be/SUh7jhrtktk?t=1600
他说,混淆环境和物体是Javascript的根本罪。环境暴露给语言用户,用户可以操纵环境。
我不太明白他的意思。他是否指的是"这个"适用于Javascript?
是否有任何可以证明这种罪的代码示例?
答案 0 :(得分:1)
经过一番挖掘,我找到了Shriram教授小组的论文。
https://cs.brown.edu/research/plt/dl/jssem/v1/
在2.5节中,他们指出不清楚JavaScript是否是词法范围,因为javascript中的范围链是由普通对象组成的,而 with 语句允许程序员将任意对象添加到范围链
我想我现在完全理解他在视频中的含义。
我强烈推荐这篇论文。它确实根据它的标题捕获了javascript的所有本质,不仅是好的部分,还有坏的部分。