我试图解决一个问题,但我需要了解原型。
我在读书,我以为我明白了,但我仍然有一些并发症
function Person(name){
this.name = name;
}
Person.prototype.greet = function(otherName){
return "Hi " + otherName + ", my name is " + name;
}
var kate = new Person('Kate'); //name
var jose = new Person('Jose'); //otherName ???
那么,当我需要调用函数时,是我的错误吗?或者它在哪里?
name
是对象实例的属性,因此需要在greet
方法中使用this.name
。
据我所知,你需要像打招呼一样显示Hi Jose, my name is Kate
。在这种情况下,您需要将other person
传递给greet
方法,然后您可以使用object.name
访问该人名
function Person(name) {
this.name = name;
}
Person.prototype.greet = function(other) {
return "Hi " + other.name + ", my name is " + this.name;
}
var kate = new Person('Kate');
var jose = new Person('Jose');
snippet.log(kate.greet(jose));
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>