在 Javascript 中创建全局变量时是否需要指定对象类型

Do I need to specify object type when creating globals in Javascript?

本文关键字:对象 类型 是否 Javascript 创建 全局变量      更新时间:2023-09-26

我有以下代码:

var oTable = $('#dataTable').dataTable({
 ...

我想将 oTable 声明为全局,但我有点困惑。使用 javascript 如何执行此操作,当我将其声明为全局时,我是否必须指定对象类型?

简单地说,你没有。您只需像以前一样声明变量,并在需要的任何地方使用它。

当您想在函数中使用全局变量时,只需键入其名称,而无需先声明它。

var MyVar = $('#dataTable').dataTable(); // This is a global variable. Notice that you don't specify a type, as JavaScript is not strongly typed
function MyFunction() {
  var InternalVar = MyVar; // Here you take the value from the global variable, i.e. the datatable
}
function MyOtherFunction() {
  var MyVar = 'This is a string';
  var InternalVar = MyVar; // Here you take the value from the LOCAL variable, which you declared just above, i.e. 'This is a string'
}

您可以像这样全局声明它,没有任何问题。Var 是泛型类型,可以为其分配任何类型。

var oTable = $('#dataTable').dataTable({......
function someFunction()
{
}

全局变量实际上不是变量,而是全局对象的属性。可以按如下方式显式附加它们:

window.oTable = $('#dataTable').dataTable({});

window是指浏览器 JavaScript 中的全局对象。

除非该声明在函数内部,否则oTable已经是一个全局变量。此外,Javascript是动态类型的,这意味着你不能定义变量类型。

有关 Javascript 中全局变量的更多信息,请查看这篇文章。
有关静态类型与动态类型的更多信息,请查看此问题。

不能声明类型。

除非变量是使用 var 在函数中定义的,否则它将是全局变量。