Rumah  >  Artikel  >  hujung hadapan web  >  JavaScript命名空间是什么?有什么用?

JavaScript命名空间是什么?有什么用?

不言
不言asal
2019-01-14 16:08:224592semak imbas

命名空间在英语中称为namespace,它是编程中的概念之一,存在“命名空间”的概念可以避免名称冲突,本篇文章我们就来看看JavaScript中命名空间的内容与用法。

JavaScript命名空间是什么?有什么用?

命名空间是什么?

命名空间指的是一种排序机制,以便在“空间”中只有一个相同的名称。

空间就像一种容器。

例如,名字“汤姆” 可能指的是多个人,但通过为每个姓氏创建命名空间,我们可以区分哪个“汤姆”。

事实上,你可以知道到命名空间“上官”中的“汤姆”和“欧阳”中的“汤姆”是不同的人。

使用命名空间的好处

命名空间的主要目的是避免名称冲突。

对于小规模程序,使用命名空间的好处可能不会太多。

但是,某种大规模的程序可能与其他程序,服务器等有关。

在这种情况下,使用命名空间可以减轻程序员的负担。

由于可以防止名称冲突引起的问题,我们可以消除不必要的处理。

如何使用命名空间?

让我们在JavaScript程序中实际引入命名空间的概念。

首先,来看一个不使用命名空间的简单程序。

<html>
  <body>
    <script>
 
        function addition(num1,num2) {
            return num1+num2;
        }
 
        function multiplication(num1,num2) {
            return num1*num2;
        }
 
        var operation = addition(5,10);
        console.log(operation)
 
    </script>
  </body>
</html>

执行结果:15

在上面的代码中,我们首先定义了一个加法的函数addition和一个乘法的函数multiplication。

然后,添加结果存储在全局变量中,并显示在JavaScript控制台中。

传递给函数所添加的参数是5和10,因此控制台上显示15。

在上面的代码中,所有内容都作为全局变量存在。

因此,如果全局范围中存在具有相同名称的函数和变量,则会导致冲突。

接下来,我尝试使用命名空间改进上面的代码。

<html>
  <body>
    <script>
 
        var MYFUNCTIONS = {
 
            addition: function(num1,num2){
                return num1+num2;
            },
 
            multiplication: function(num1,num2){
                return num1*num2;
            }
        } 
 
        var operation = MYFUNCTIONS.addition(5,10);
        console.log(operation)
 
    </script>
  </body>
</html>

执行结果:15

在上面的代码中,唯一定义的全局变量是一个大写的MYFUNCTION变量。

在其中我们定义加法和乘法函数。

通过这样做,我们创建了一个名为MYFUNCTION的空间,并在其中包含任意函数。

要在MYFUNCTION中调用函数,使用语法:MYFUNCTION.函数名。

通过编写MYFUNCTION.addition(5,10)来调用加法函数。

结果与前面的代码相同。

如何对名称空间进行分层?

最后,我们来介绍一下如何“层次化”命名空间。

这样会很方便,因为可以通过分层管理更多函数和变量。

代码示例如下

<html>
  <body>
    <script>
 
        var MYAPPLICATION = {
 
            OPERATIONS: {
 
                addition: function(num1,num2){
                    return num1+num2;
                },
 
                multiplication: function(num1,num2){
                    return num1*num2;
                }
            },
 
            OTHER: {
 
                show: function(num1,num2){
                    console.log("Your numbers are " + num1 + " and " + num2);
                } 
            }
 
        } 
 
        MYAPPLICATION.OTHER.show(5,10);
 
    </script>
  </body>
</html>

执行结果:Your numbers are 5 and 10

在上面的代码中,我们将唯一的全局变量MYAPPLICATION分成多个空间。

在OPERATION空间添加了addition函数和multiplication函数,在OTHER空间中包含了新的函数show。

在空间中创建空间使得分层和生成简洁代码变得更加容易。

例如,要在OTHER空间中调用show函数,可以使用外部空间,内部空间和函数名称等语法。

实际上,如果你编写MYAPPLICATION.OTHER.show(5,10),将调用参数5和10中指定的show函数。

show函数将诸如“ Your numbers are参数1 and参数2 ”之类的短语输出到JavaScript控制台。

因此,结果显示为Your numbers are 5 and 10。

本篇文章到这里就全部结束了,更多精彩内容大家可以关注php中文网的其他栏目教程!!!

Atas ialah kandungan terperinci JavaScript命名空间是什么?有什么用?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn