gpt4 book ai didi

javascript - 为什么 Javascript 闭包被称为安全的

转载 作者:数据小太阳 更新时间:2023-10-29 04:32:56 24 4
gpt4 key购买 nike

在他的一个 videos 中(大约 1 分 25 秒。视频中的时钟倒退,所以它是 -27:45),Douglas Crockford 提到 Javascript 闭包是巨大表达能力的来源,并且与其他权力结构不同,它也是安全的。他特别提到在 Javascript 闭包中约束范围,这使它们更安全。

谁能帮我举几个例子,说明 Javascript 闭包的作用域规则如何使它们比其他有闭包的语言更安全。还有什么其他因素可以使 Javascript 闭包比其他语言的闭包更安全?

最佳答案

它们是“安全的”,因为只有闭包的词法范围内的代码才能直接访问闭包函数范围的变量。我建议阅读 Jibbering Closure Notes , 一般而言。

任何“泄漏”对象仍可能引入数据操作/副作用点。 ECMAScript 中的闭包并不比任何其他具有类似闭包语义的语言更“安全”——在这个意义上,“安全”意味着“私有(private)变量访问”。另一方面,一些语言已经有了更多可控的成员可见性修饰符(例如 Java 或 C#,具有私有(private)/公共(public)区别)。

当然,如果有人认为“仅仅”依赖于原型(prototype)的 JavaScript 对象是“不安全的”。 (如果有人错误地使用了我的代码,让他们使用——如果它坏了,让他们烧掉 ;-)

就我个人而言,我发现 Crockford 先生是一位优秀的布道者 -- 但不是我的宗教信仰 ;-) 人们可以在不正确分析 X 与 Y 的关系的情况下对 X 说各种好话。

关于javascript - 为什么 Javascript 闭包被称为安全的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com