首页 > 解决方案 > 无法访问 Javascript 属性

问题描述

下面的函数失败了Cannot read property 'message' of undefined。为什么方法message未定义?

function person(name, age) {
    this.name = name;
    this.age = age;
    this.message = function() {
        console.log(this);
        console.log(this.name + " is " + this.age + " years old !");
    }

};

person("nirmesh", 35).message();

标签: javascript

解决方案


您正在尝试采用 OOP 方法,对吗?这意味着person(name, age)应该是一个构造函数。

在这种情况下,您忘记了new实例化新对象的关键字,如下所示:(new person("nirmesh",35)).message();

PS:你真的不需要包装括号,更多的是为了阐述:)


推荐阅读