我不知道你是否需要看到完整的代码,但我看到一些插件可以做到这一点:
window.dataValidate = dataValidate
Run Code Online (Sandbox Code Playgroud)
这是否将"dataValidate"添加到窗口对象,或者它是如何工作的?
这是否会将"dataValidate"添加到窗口对象中
是的,它会的.
例如,如果你在另一个范围内;
function foo() {
var bar = 4;
window.bar = bar;
}
Run Code Online (Sandbox Code Playgroud)
您现在已经创建了bar
全局,并且可以从任何地方访问它.如果没有window.bar = bar
,你只能在其中访问它foo()
.
您通常会在IIFE结束时看到这个用于将工作发布到世界其他地方(例如jQuery);
(function () {
var jQuery;
// Setup jQuery
window.jQuery = jQuery;
}());
Run Code Online (Sandbox Code Playgroud)
你可能会看到人们这样做;
function foo() {
bar = 4; // Note the lack of `var`
}
Run Code Online (Sandbox Code Playgroud)
通过使用"隐含的全局",这具有相同的效果; 但它会在ES5严格模式下引发错误,并且通常被认为是一种不好的做法(程序员是否意味着将其设为全局,或者他们只是偶然忽略了var
?).
归档时间: |
|
查看次数: |
957 次 |
最近记录: |