Javascript命名空间中的全局变量

Javascript命名空间中的全局变量,javascript,Javascript,我是Javascript名称空间的新手,我有两个按钮Add和Remove,我有下面的脚本 <script> var nRow=1; function Add() { nRow++; alert(nRow); } function Remove() { nRow--; alert(nRow); } </script> var nRow=1; 函数Add(){ nRow

我是Javascript名称空间的新手,我有两个按钮
Add
Remove
,我有下面的脚本

<script>
    var nRow=1;
    function Add() {
        nRow++;
        alert(nRow);
    }
    function Remove() {
        nRow--;
        alert(nRow);
    }
</script>

var nRow=1;
函数Add(){
nRow++;
警报(nRow);
}
函数删除(){
nRow--;
警报(nRow);
}

我试图做的是将这个脚本放在一个名称空间中,并调用按钮的函数
onClick
。请告诉我如何将其放入名称空间并调用函数。

从技术上讲,JavaScript不支持名称空间。可以将其放置在对象中,如下所示:

var Increment = {
    nRow : 1,

    Add : function() {  
        this.nRow++;
        alert(this.nRow);
    },

    Remove : function() {  
        this.nRow--;
        alert(this.nRow);
    }    
}

然后,您可以通过
Increment.Add()
Increment.Remove()
访问函数。从技术上讲,JavaScript不支持名称空间。可以将其放置在对象中,如下所示:

var Increment = {
    nRow : 1,

    Add : function() {  
        this.nRow++;
        alert(this.nRow);
    },

    Remove : function() {  
        this.nRow--;
        alert(this.nRow);
    }    
}

然后,您可以通过
Increment.Add()
Increment.Remove()
访问函数,Javascript没有名称空间或类。它有对象和原型。话虽如此,我相信这正是你所要求的:

<script>
    window.myNameSpace = {
        nRow: 1,
        add: function () {
           this.nRow++;
           alert(this.nRow);
        },
        remove: function() {
            this.nRow++;
            alert(this.nRow);
        }
    };
    document.getElementById("MyAddButtonId").addEventListener("click", myNameSpace.add, false);
    document.getElementById("MyRemoveButtonId").addEventListener("click", myNameSpace.remove, false);
</script>

window.myNameSpace={
nRow:1,
添加:函数(){
这个.nRow++;
警报(this.nRow);
},
删除:函数(){
这个.nRow++;
警报(this.nRow);
}
};
document.getElementById(“MyAddButtonId”).addEventListener(“单击”,myNameSpace.add,false);
document.getElementById(“MyRemoveButtonId”).addEventListener(“单击”,myNameSpace.remove,false);

Javascript没有名称空间或类。它有对象和原型。话虽如此,我相信这正是你所要求的:

<script>
    window.myNameSpace = {
        nRow: 1,
        add: function () {
           this.nRow++;
           alert(this.nRow);
        },
        remove: function() {
            this.nRow++;
            alert(this.nRow);
        }
    };
    document.getElementById("MyAddButtonId").addEventListener("click", myNameSpace.add, false);
    document.getElementById("MyRemoveButtonId").addEventListener("click", myNameSpace.remove, false);
</script>

window.myNameSpace={
nRow:1,
添加:函数(){
这个.nRow++;
警报(this.nRow);
},
删除:函数(){
这个.nRow++;
警报(this.nRow);
}
};
document.getElementById(“MyAddButtonId”).addEventListener(“单击”,myNameSpace.add,false);
document.getElementById(“MyRemoveButtonId”).addEventListener(“单击”,myNameSpace.remove,false);

JavaScript不使用名称空间。@Satyr,嵌套对象在JavaScript中被视为“名称空间”。但是,它与其他语言中的名称空间不同。我不知道它是什么,但在一些网站中,它仅被称为“名称空间”。例如:JavaScript不使用名称空间。@Satyr,嵌套对象在JavaScript中被视为“名称空间”。但是,它与其他语言中的名称空间不同。我不知道它是什么,但在一些网站中,它仅被称为“名称空间”。例如:嗨,当我在不同的文件中有很多对象时,我怎么能把它们都放在同一个命名空间下呢?我想我不能在每个文件中都做
var Increment..
,因为我认为这会多次创建该变量?你可以将
Increment
定义为
窗口
var,然后使用
window.Increment.OBJECT\u NAME.function
。啊,这很有意义。因此,如果我理解正确:在JavaScript中使用名称空间意味着将所有代码放在一个对象中?嗨,当我在不同的文件中有很多对象时,我如何将它们都放在同一名称空间下?我想我不能在每个文件中都做
var Increment..
,因为我认为这会多次创建该变量?你可以将
Increment
定义为
窗口
var,然后使用
window.Increment.OBJECT\u NAME.function
。啊,这很有意义。所以如果我理解正确的话:在JavaScript中使用名称空间意味着将所有代码放在一个对象中?