javascript - 无法访问 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();
解决方案
您正在尝试采用 OOP 方法,对吗?这意味着person(name, age)
应该是一个构造函数。
在这种情况下,您忘记了new
实例化新对象的关键字,如下所示:(new person("nirmesh",35)).message();
PS:你真的不需要包装括号,更多的是为了阐述:)
推荐阅读
- html - 尝试在反应应用程序中将文本与图像对齐时出现损坏的图像图标
- google-cloud-datalab - 我应该如何对无响应的数据实验室进行故障排除?
- ruby-on-rails - ActionCable 使用控制器变量
- reactjs - 无法从反应代码中读取未定义错误消息的属性 formatMessage
- amazon-web-services - 基于查询字符串参数的 AWS API Gateway 路由
- c - 将虚拟地址从多级页表转换为物理地址
- matlab - 如何在 MATLAB 中动态绘制数据
- ajax - 如何在 componentDidUpdate 中加载 AJAX 并更新状态?
- javascript - 在浏览器上提供 npm 模块的 javascript 源的正确方法是什么?
- sql - 值大于值的 SQL COUNT 列