如何在嵌套原型中访问javascript构造函数变量

时间:2014-12-31 04:31:49

标签: javascript prototypejs

我无法访问示例1中RandObj.exampleFunction(this.name =" steven")中的构造函数变量,因为RandObj中的范围仅限于RandObj本身。这是因为我有一个我认为是嵌套原型的东西,但是我想保留这个嵌套的原型,因为它对于我想要构建的东西是必要的。我知道我可以访问' this.name'使用示例2,但我想保留示例1中的结构。

//EXAMPLE 1
define(function() {
    'use strict';

    var Wrapper = function(nameIn) {
        this.name = nameIn;
    };

    Wrapper.prototype = {
        RandObj: {
            exampleFunction: function() {
                this.name = "steven";
            }
        }
    };
    return Wrapper;
});


//EXAMPLE 2
define(function() {
    'use strict';

    var Wrapper = function(nameIn) {
        this.name = nameIn;
    };

    Wrapper.prototype = {
        exampleFunction: function() {
            this.name = "steven";
        }
    };
    return Wrapper;
});

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以通过首先执行该函数来访问该名称,然后访问该名称。

Wrapper.prototype.RandObj.exampleFunction(); 
Wrapper.prototype.RandObj.name; 

但我不确定你想要达到的目标,所以我不知道这是否有用。