在函数内使用对象变量。 JavaScript的

时间:2014-10-04 19:09:33

标签: javascript oop

我最近开始学习JavaScript,并想知道是否可以直接在同一个对象中使用函数中的对象变量。到目前为止,这是我的代码。

    var user = {
    name: 'Example',
    age: 687,
    address: {
    firstLine: '20',
    secondLine: 'St Fake',
    thirdLine: 'Fakeland'   
    },
    logName: function(inputName, inputAge){
    console.log(user.name);
    console.log(user.age);
    console.log(inputAge);
    console.log(inputName);
    }
    };

    user.logName('Richard', 20);

如何在不需要将对象名称作为变量前缀的情况下链接到函数中用户的名称和年龄变量?

3 个答案:

答案 0 :(得分:2)

most cases中,您可以使用this keyword来获取调用函数的对象作为方法。在您的示例中:

var user = {
    name: 'Example',
    age: 687,
    address: {
        firstLine: '20',
        secondLine: 'St Fake',
        thirdLine: 'Fakeland'   
    },
    logName: function(inputName, inputAge) {
        console.log(this.name);
//                  ^^^^
        console.log(this.age);
//                  ^^^^
        console.log(inputAge);
        console.log(inputName);
    }
};

user.logName('Richard', 20); // method call on `user`,
                             // so `this` will become the `user` in the function

答案 1 :(得分:1)

欢迎来到这个"这个"关键词!

只需通过this.value

引用它

答案 2 :(得分:1)

您可以使用this关键字。您可以使用this article

更好地了解this关键字

代码将是这样的

var user = {
    name: 'Example',
    age: 687,
    address: {
        firstLine: '20',
        secondLine: 'St Fake',
        thirdLine: 'Fakeland'
    },
    logName: function (inputName, inputAge) {
        console.log(this.name);
        console.log(this.age);
        console.log(inputAge);
        console.log(inputName);
    }
};

user.logName('Richard', 20);