gpt4 book ai didi

JavaScript:如果使用特定值实例化现有对象,如何创建警报?

转载 作者:行者123 更新时间:2023-11-28 18:35:56 24 4
gpt4 key购买 nike

(这只是出于个人好奇)

我想设置一个自动警报,每当内置 JavaScript 对象(意思是:我自己没有定义的对象)之一被实例化为特定值时。

这里是一个名为“Test”的内置对象:

function Test(first, last) {
this.firstName = first;
this.lastName = last;
}

我尝试过的事情之一是向“Test”对象添加一个名为“checkName”的自执行函数,如下所示:

Test.prototype.checkName = function() {
var n = this.firstName;
if (n == "Mickey") {
alert("It's Mickey!!");
}
}();

但是按如下方式实例化它不会导致警报:

var a = new Test("Mickey", "Mouse");

是否可以扩充现有对象,以便在属性具有某些特定值时创建自动警报?

如果是的话,该怎么办?

最佳答案

JavaScript 无法读懂你的想法。您必须手动调用该方法。

并且它必须是一个方法,而不是立即调用的函数表达式。当您像这样调用它时,this 在草率模式下成为全局对象,在严格模式下成为未精炼的对象。因此 this.firstName 将是 window.firstName 或抛出异常。

function Test(first, last) {
this.firstName = first;
this.lastName = last;
this.checkName();
}
Test.prototype.checkName = function() {
var n = this.firstName;
if (n == "Mickey") {
alert("It's Mickey!!");
}
};
var a = new Test("Mickey", "Mouse");

关于JavaScript:如果使用特定值实例化现有对象,如何创建警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37089909/

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