Javascript命名空间中的全局变量

时间:2012-10-22 13:12:42

标签: javascript

我是Javascript命名空间的新手,我有2个按钮Add& Remove,我在下面有以下脚本。

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

我正在尝试将此脚本放在命名空间中并调用按钮的函数onClick。请告诉我如何将其放入命名空间并调用函数。

2 个答案:

答案 0 :(得分:3)

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>

答案 1 :(得分:2)

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

var Increment = {
    nRow : 1,

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

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

然后,您可以通过Increment.Add()Increment.Remove()访问这些功能。