gpt4 book ai didi

javascript - 为什么 greet 函数没有返回期望值?

转载 作者:可可西里 更新时间:2023-11-01 01:37:54 24 4
gpt4 key购买 nike

问题:

为什么greet函数没有返回预期值?

代码:

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

Person.prototype.greet = function(otherName){
return "Hi" + otherName + ", my name is " + name;
}

我该如何回答?我创建了一个新人,然后我该怎么办?

var John = new Person("John");

最佳答案

错误的访问方法。 undefined variable name,仅定义了 this.name。所以它在函数范围内寻找一个名为 name 的变量,而不是对象的一个​​名为 name 的属性。

要从对象内部访问对象的属性,我们使用 this 关键字。因此,我们需要使用 this.name 来访问下面实现中的 name 属性。

Person.prototype.greet = function(otherName){
return "Hi" + otherName + ", my name is " + this.name;
}

关于javascript - 为什么 greet 函数没有返回期望值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713630/

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