gpt4 book ai didi

javascript - 无法获取未定义或空引用的属性

转载 作者:行者123 更新时间:2023-11-28 02:21:26 25 4
gpt4 key购买 nike

我收到以下错误

Unable to get property 'showMsg' of undefined or null reference

下面代码的最后一行:

    Function.prototype.showMsg = function () {
alert("This is a sample message.");
};

function Person() {
this.name = "Mahesh";
};

var personObj = new Person();
personObj.prototype.showMsg();

实际上,我应该能够从 Person 实例访问 showMsg(),因为我已将其添加到 Function.prototype 中。那为什么我会收到此错误?

最佳答案

你理解错了

Function.prototype.showMsg = function () {
alert("This is a sample message.");
};

function Person() {
this.name = "Mahesh";
};

var personObj = new Person();
personObj.prototype.showMsg();

首先,您对函数类进行原型(prototype)设计,然后创建一个名为 Person 的自定义类,然后创建 Person 的实例。然后你正在调用非常蓝图,即showMsg,这是2个错误1 showMsg没有绑定(bind)到Person中,然后如果它有界则调用它,你可以像这样直接调用它

personObj.showMsg()

如果我让你写的话,从我的 Angular 来看这个脚本会起作用吗像这样写->

function Person() {
this.name = "Mahesh";
};

Person.prototype.showMsg = function () {
alert("This is a sample message.");
};

var personObj = new Person();
personObj.showMsg();

如果您需要通过 Person 对象和函数类来将 showMsg 直接绑定(bind)到 Person 类,那么您必须像这样从函数类继承

Function.prototype.showMsg=function () {
alert("This is a sample message.");
};

function Person() {
this.name = "Mahesh";
};


Person.prototype = Function;
Person.prototype.constructor = Person;

var personObj = new Person();
personObj.showMsg();

问候

关于javascript - 无法获取未定义或空引用的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15598231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com