cuốn sách gpt4 ai đã làm

Javascript - 带有 new 关键字的函数构造函数

In lại Tác giả: Walker 123 更新时间:2023-11-28 18:25:25 hai mươi bốn 4
mua khóa gpt4 Nike

当使用 mới 调用下面的 foo 函数时,它会变成一个构造函数,返回分配给 baz 的对象。

function foo() {
this.baz = "baz";
console.log(`${this.bar} ${baz}`);
}

var bar = "bar";
var baz = new foo(); // prints undefined undefined

问题是为什么控制台语句中的 baz 会得到 không xác định 值 - 可以说,当 baz 被提升时,当new foo() 被调用,直到函数返回,baz 没有分配返回的对象?

后面一行中的

console.log(baz) 正确打印返回的对象。

câu trả lời hay nhất

在函数中,cái này 中没有bar。您需要删除 this.bar của cái này 部分。对于baz,您必须使用this.baz,因为它附加到对象实例。

function foo() {
this.baz = "baz";
console.log(`${bar} ${this.baz}`);
}

var bar = "bar";
var baz = new foo();

这段代码的意思

this.baz = "baz";
console.log(`${this.bar} ${baz}`);

当你创建一个对象时,它只会有baz 在其中。在正文中,如果您想访问对象的属性,则需要通过 cái này 访问。 ${baz} 未定义,因为没有 baz 变量(它不会在 cái này 中查找)。因此,如果您需要访问函数中的baz需要使用this.baz.

${this.bar}呢,cái này中没有bar属性,只有baz >.

关于Javascript - 带有 new 关键字的函数构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39266828/

hai mươi bốn 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress