gpt4 book ai didi

javascript - javascript 中的全局函数

转载 作者:可可西里 更新时间:2023-11-01 01:29:50 25 4
gpt4 key购买 nike

我是 js 的新手,正在尝试了解全局和私有(private)函数。我了解全局和局部变量。但是如果我有一个名为 test.html 的 html和一个名为 test1.js 的 2 个 js 文件和 test2.js .现在我包括 test1.jstest2.jstest.html并调用 test2.js 中编写的函数里面test1.jstest.html .

我在test2.js中写的函数都是这种形式

function abc(){...}

function pqr(){...} etc.

以上这些函数是全局的吗?如果是,我怎么能不让它们成为全局性的并且仍然可以在 test1.js 中访问它们呢?和 test.html

正如我所读,全局函数或全局变量是不好的,对吗?

最佳答案

JS 中的所有内容都绑定(bind)到包含范围。因此,如果您直接在文件中定义一个 function,它将绑定(bind)到 window 对象,即它将是全局的。

要使其成为“私有(private)”,您必须创建一个包含这些函数的对象。你是正确的,乱扔垃圾的全局范围是不好的,但你必须在全局范围内放置一些东西才能访问它,JS 库做同样的事情并且没有其他解决方法。但是考虑一下您在全局范围内放置的内容,对于您的“库”来说,单个对象应该绰绰有余。

例子:

MyObject = {
abc: function(...) {...},
pqr: function(...) {...}
// other functions...
}

为某处调用abc,无论是同一个文件还是另一个文件:

MyObject.abc(...);

关于javascript - javascript 中的全局函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29514382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com