在类似于UML序列图的内容中,可以使用哪些工具来传达
JavaScript变量作用域和闭包等概念?例如,如何编码如下:(
the Infamous Loop Problem)
var arr = []; for(var i=0; i<10; i++) { arr.push(function() { alert(i); }); } for(var j=arr.length;j--;) { arr[j](); }
…在类似于这个的图表中清楚地解释:
解决方法
The code is an arbitrary example. The code has nothing to do with the question,merely demonstrates often misleading code which could benefit from being described.
您无法在UML中描述闭包和作用域.根本不支持它,而不是顺序图. JavaScript中的闭包有点像在Java或C#中定义一个类,你不要把它放在你的UML中.嗯,我无法解释这个……
闭包是你必须作为JavaScript程序员固有地理解的东西.
您的UML应该关注的是实体及其交互.不是某种语言’quirk'(如果你愿意的话)就像需要关闭一样.
我全都用于描述误导性代码,但UML图不适合它.把它放在源代码的注释中.如果有人想知道这个函数是如何工作的,他会查看源代码.如果他不想知道,不要打扰他.