我正在尝试通过首先接收全名并使用方法设置第一个,最后一个和全名来构建一个创建人的功能。之后,它将拥有应该能够更改名称的每个部分的方法。
我目前的代码如下:
var Person = function(firstAndLast) {
var name = firstAndLast;
this.getFirstName = function() {
return name.substr(0,name.indexOf(' '));
};
this.getLastName = function() {
return name.substr(name.indexOf(' ')+1);
};
this.getFullName = function() {
return name;
};
this.setFirstName = function() {
return name;
};
this.setLastName = function() {
return name;
};
this.setFullName = function() {
return name;
};
};
var bob = new Person('Bob Ross');
bob.setFullName();
现在,当我有时间传递一个新名字时,我完全陷入困境,所以如果我做了类似的话:
bob.setFullName(' George Carlin');
然后传递:
bob.getFullName();
我应该得到答案' George Carlin'
然而这并没有发生。
一如既往地谢谢。
答案 0 :(得分:0)
所以问题在于我并没有真正理解传递的值是怎样的,并且我不应该使用全名来处理部件。
var Person = function(firstAndLast) {
var firstName = firstAndLast.split(' ')[0];
var lastName = firstAndLast.split(' ')[1];
this.setFirstName = function(firstNameNew) {
firstName = firstNameNew;
};
this.setLastName = function(lastNameNew) {
lastName = lastNameNew;
};
this.setFullName = function (fullNameNew) {
firstName = fullNameNew.split(' ')[0];
lastName = fullNameNew.split(' ')[1];
};
this.getFullName = function() {
return firstName + ' ' + lastName;
};
this.getFirstName = function() {
return firstName;
};
this.getLastName = function() {
return lastName;
};
};
var bob = new Person('Bob Ross');