跨函数的Javascript变量

时间:2015-04-23 18:50:35

标签: javascript

作为练习,我在相同的命名空间(名称空间为样本)中编写代码:

if ("undefined" == typeof(sample)) {
    var sample = {};
}

sample = {
    foo : function () {

    },

    bar : function () {

    }
};

如何在同一命名空间中创建一个可供所有函数访问的变量?

2 个答案:

答案 0 :(得分:3)

我假设您正在尝试访问示例命名空间内的变量。要执行此操作,请将变量声明为与函数相同的级别,并在函数中使用关键字

来访问它
<head>

注意:如果你在函数内部创建一个函数(闭包),你需要为this关键字创建一个别名(比如_self),这样就不会覆盖上下文在你的新功能中。

答案 1 :(得分:1)

另一种选择:

(function(){

    //Constructor
    function Sample(name) {
        this.sampleName = name;
    }

    Sample.prototype = {
        foo: function() {
           this.sampleName = "otherSample";
        },
        bar: function() {
           this.sampleName += "anotherSample";
        }
    };

    var sample = new Sample("wow");

})();