根据文档(https://developers.google.com/closure/compiler/docs/api-tutorial3#externs),似乎闭包编译器应该在不存在外部声明时重命名变量,包括使用来自外部的函数/变量时一点代码。他们给出的例子是
function makeNoteDom(noteTitle, noteContent, noteContainer) {
// Create DOM structure to represent the note.
var headerElement = textDiv(noteTitle);
var contentElement = textDiv(noteContent);
...
}
其中 textDiv 函数由某种第三方库在全局范围内声明。它说 textDiv 应该声明为外部以防止重命名。
我的问题是 - 当我将此代码或类似代码放入没有任何外部声明的闭包编译器中时,为什么 textDiv 没有重命名(这会破坏代码),如文档所示?