gpt4 book ai didi

Javascript设置属性功能不起作用

转载 作者:行者123 更新时间:2023-12-02 18:10:11 24 4
gpt4 key购买 nike

我是 Javascript 和编程的初学者,我的英语不好(很抱歉,如果有任何语法错误),但这是我的问题:

当我在 JS 中创建一个类并创建一个函数来设置其对象的属性时,浏览器无法识别该函数。示例:

var myObject = new MyClass();
myObject.setAttribute();

function MyClass() {
this.attribute;
}

MyClass.prototype.setAttribute = function() {
this.attribute = true;
};

当我尝试运行此代码时,chrome 会抛出一个错误,提示“Uncaught TypeError: Object # has no method 'setAtributte'”,并且指定的行是 2。我不明白。

我再说一遍:我是一个初学者,所以这对你来说可能看起来是一个愚蠢的错误,但对我来说这是一个很大的问题。谢谢。

最佳答案

JavaScript 已“提升”您的声明,以便在变量声明之前定义 MyClass;但是您的原型(prototype)更新并未提升。更改代码的顺序

function MyClass() {
this.attribute;
}

// Prototype has to be defined BEFORE it can be used
MyClass.prototype.setAttribute = function() {
this.attribute = true;
console.log(this.attribute);
};

var myObject = new MyClass();
myObject.setAttribute();

关于Javascript设置属性功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19780471/

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