Javascript:调用用户定义函数的窗口对象的效率

Javascript:调用用户定义函数的窗口对象的效率,javascript,node.js,Javascript,Node.js,在我的nodejs应用程序中,我使用window.myfunction=function(){…}的方式来通信或调用两个不同js文件中的函数。事实上,它工作得很好。我也问了这个问题,这帮助我学得更好 我的问题/疑问是,使用windowobject调用用户定义的函数可以吗? (就客户端性能、跨浏览器兼容性和明显的安全性而言,还行。)谢谢。 (我是javascript编程的初学者)在浏览器的上下文中,所有全局函数都附加到窗口对象 所以如果你有 function myFunction() { a

在我的nodejs应用程序中,我使用
window.myfunction=function(){…}
的方式来通信或调用两个不同js文件中的函数。事实上,它工作得很好。我也问了这个问题,这帮助我学得更好

我的问题/疑问是,使用
window
object调用用户定义的函数可以吗?
(就客户端性能、跨浏览器兼容性和明显的安全性而言,还行。)谢谢。

(我是javascript编程的初学者)

在浏览器的上下文中,所有全局函数都附加到窗口对象 所以如果你有

function myFunction() {
   alert("Hey!");
}
然后

是相同的电话吗


是的,你可以像
window.myFunction=function(){/*…*/}
那样定义你的函数,但这很奇怪

这就是我们在谈论
全局范围时所说的

尽量减少我们放入全局范围的代码量是很重要的,因为这样会增加与另一个库或文件发生冲突的可能性

例如,如果companyA.js和demoB.js在全局范围内都包含一个名为
retrieveItems
的方法,那么就会发生冲突


作为JS开发人员,您需要意识到这个问题,并尝试采取一些措施来避免这些问题。

在Javascript编程中,有一个全局对象,它是一个包含所有全局变量的根对象。全局对象取决于您正在使用的运行时。不确定Node.js,但如果javascript在浏览器中运行,则全局对象是window对象。 如果要创建全局变量,则要在窗口对象上创建属性

var def="Hello"; var def=“你好”; 您可以使用def变量或window.def访问上述值 这也适用于函数

function myFunc(){ console.log("Hello"); } 函数myFunc(){ console.log(“你好”); } 所以,若你们看到window对象,你们会发现myFunc属性被创建,它保存着这个函数。 可以使用myFunc()执行此函数;直接或使用window.myFunc()

全局变量导致混乱,我不太赞成全局变量。尝试使用iLife。点击下面的链接


是的,我同意。所以基本上,我的内容是通过服务器使用ejs模板生成的,如果我有一些函数onclick event of某个元素,并且该函数已经存在于其他一些已经加载的js中,那么我使用的是
window.myFunction
(可能是我的实现有点问题,但我遇到了这个问题)顺便说一句,谢谢你的回答:)@jsonscript听起来很有趣。。你能提出一些解决办法吗?知道吗?有很多。查找
显示模块模式
立即调用函数表达式(IIFE)
以及其他编码模式。看看jQuery在不公开所有变量的情况下创建方法的方式。。。 var def="Hello"; function myFunc(){ console.log("Hello"); }