编程实践-使用helper方法隐藏对象
Programming practices - using helper method to hide object
我正在阅读闭包库的代码段,我在那里看到了这个代码片段:
/**
* Gets the document object being used by the dom library.
* @return {!Document} Document object.
*/
goog.dom.getDocument = function() {
return document;
};
为什么我们将文档引用封装在getter方法中?文档不是全局对象吗?
我看到了两个逻辑原因,都涉及闭包编译器:
-
类型检查-调用此函数时,闭包编译器将知道返回类型为
Document
类型,并且它从不为null。据推测,Google Closure开发人员可能已经将其硬编码到了Closure编译器中,但通过显式,他们避免了为全局对象上存在的属性向Closure Compiler添加特殊情况。 -
缩小-当该函数通过
ADVANCED_OPTIMIZATIONS
时,goog.dom.getDocument
可以缩小为类似a.b.c
的大小。闭包编译器无法重命名document
,因为它无法控制全局对象上的变量名,但它当然可以重命名引用document
的函数,以提供更小的源代码。
相关文章:
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 有没有一种方法可以从隐藏的可见性(CSS,JS)中获得淡入效果
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 什么'这是用javascript隐藏和显示表中所有行的最快方法
- 编程实践-使用helper方法隐藏对象
- 有没有一种方法可以为卸载的lazylod图像隐藏alt标签
- 隐藏具有特定类$.each、for等的元素的有效方法
- 使用ScriptManager.RegisterStartupScript从代码隐藏调用javascript方法
- 隐藏数千个
- 元素的最快方法
- Javascript 计时器只调用一次 Code 隐藏方法
- 引导程序是否有显示隐藏类的方法
- 组合用于隐藏或显示内容的方法
- (“NetworkError:401未经授权)从JavaScript调用代码隐藏方法
- crypto-js如何隐藏类方法
- 仅使用textbox方法和属性在confirm ok和cancel的代码隐藏中执行不同的代码
- 使用javascript创建自己的隐藏类方法
- 使用 .call/.apply 隐藏类方法
- Javascript:是否有任何后门方法来访问数组的真正隐藏/私有长度属性
- jQuery Mobile-无法使用常见的jQuery方法隐藏按钮