
[英]Any way to check whether a function has external side-effects (or enforce that it won't)?
[英]Is there a way to determine if a JavaScript function has side effects? [closed]
给定Javascript函数,是否可以验证函数没有副作用; 即,该函数不会更改在函数范围之外声明的任何变量的值?
您需要为JavaScript编写效果分析,这需要JavaScript的效果语义。 一些要考虑的事情:
人们已经为不纯语言编写了类型系统,以静态确定是否存在副作用。 Ben Lippmeier的论文涵盖了很多方面。
如果它访问函数中未定义的任何变量,当然它会影响任何可能具有相同名称的全局变量。
您可以查看JSLint和ADSafe并根据这些工具运行您的文件。
HTH。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.