在我的nodejs应用程序中,我正在使用window.myfunction = function(){...}
方式进行通信或说使用两个不同的js文件调用函数。确实它的工作完美。我也经历了this问题,这有助于我更好地学习。
我的疑问/疑问是,可以使用window
对象来调用用户定义的函数吗?
(在客户端的性能,浏览器兼容性和安全性方面都很好。)谢谢
(我是javascript编程的初学者)
答案 0 :(得分:2)
当我们谈论Global Scope
尝试减少我们放入全局范围的代码量非常重要,因为它会增加与其他库或文件冲突的可能性。
例如,如果您有companyA.js和demoB.js,并且它们在全局范围内都包含一个名为retrieveItems
的方法,则会发生冲突。
作为JS开发人员,您需要了解此问题,并尝试采取一些措施来避免这些问题。
答案 1 :(得分:0)
在浏览器的上下文中,所有全局函数都附加到窗口对象 所以,如果你有
function myFunction() {
alert("Hey!");
}
然后
myFunction();
和
window.myFunction();
是相同的电话
是的你可以定义像window.myFunction = function() { /*...*/ }
这样的功能,但这很奇怪
答案 2 :(得分:0)
在Javascript编程中,有一个全局对象,它是一个包含所有全局变量的根对象。全局对象取决于您使用的运行时。不确定Node.js但是如果javascript在浏览器中运行,则全局对象是window对象。 如果要创建全局变量,则要在窗口对象上创建属性。
var def="Hello";
您可以使用def变量或使用window.def访问上述值 这也适用于功能。
function myFunc(){ console.log("Hello"); }
因此,如果您看到窗口对象,您会发现创建了保存此函数的myFunc属性。 您可以使用myFunc()执行此功能;直接或使用window.myFunc();
全局变量导致混乱,不太支持全局变量。尝试使用IIFE。请点击以下链接。