挑战:
用下面给定的方法构造一个对象.
方法有 :
getFirstName()
getLastName()
getFullName()
setFirstName(first)
setLastName(last)
setFullName(firstAndLast).
所有有参数的方法只接受一个字符串参数.
所有的方法只与实体对象交互.
答案:
方法 | 描述 |
---|
split() | 把一个字符串分割成字符串数组。 |
| |
=> | 箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。 |
| |
new | 创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。 |
| |
this | 面向对象语言中 this 表示当前对象的一个引用。 |
| |
var Person = function(firstAndLast) {var arr = firstAndLast.split(' '),first = arr[0],last = arr[1],fullName = firstAndLast;this.getFirstName = () => first;this.getLastName = () => last;this.getFullName = () => fullName;this.setFirstName = (firstName) => fullName = firstName + ' ' + last;this.setLastName = (lastName) => fullName = first + ' ' + lastName;this.setFullName = (fn) => {arr = fn.split(' ');fullName = fn;first = arr[0];last = arr[1];};
};var bob = new Person('Bob Ross');
bob.getFullName();
运行结果:
Bob Ross
在线测试:
类及对象构建算法挑战 | w3cschool