Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
// ! class类与extends,super等的用法
let User = class {
// ? 构造函数:声明属性
constructor(uname, email) {
// (1) 属性
this.uname = uname
this.email = email
}
// (2) 方法
say() {
return `${this.uname}: ( ${this.email} )`
}
// (3) 静态成员
static nation = 'china'
}
// ? 类的实例化创建对象
const user = new User('张山', 'mmm@163.com')
console.log(user.say())
console.log(User.nation)
console.log('-----------------------')
// * 继承
// extends
class Child extends User {
constructor(uname, email, sex) {
// super 调用父类成员
super(uname, email)
// 子类扩展的属性
this.sex = sex
}
say() {
// super.say() 父类中的say()
return `${super.say()}, (${this.sex})`
}
}
const child = new Child('玛丽', 'shg@163.com', '女')
console.log(child.say())
// ! 字符串,数组常用API (至少5个以上)
// * 字符串常用API
let str = '我love中国'
// 1. length 属性
console.log('length =', str.length)
// 2. charAt(), 索引 -> 成员
console.log(str.charAt(4))
// 3. indexOf(): 成员 -> 索引
console.log(str.indexOf('o'))
// 4. replace()替换
console.log(str.replace('love', '爱'))
// 5. substring() ,必须去掉(忽略)结束索引
console.log(str.substr(0,4));
// 6. split: 字符串 -> 数组
console.log(str.split('', 5))
// 7. 大小写 toLowerCase() toUpperCase()
console.log('LOVE'.toLowerCase())
console.log('darren'.toUpperCase())
// ! 字符串,数组常用API (至少5个以上)
// * 字符串常用API
let str = '我love中国'
// 1. length 属性
console.log('length =', str.length)
// 2. charAt(), 索引 -> 成员
console.log(str.charAt(4))
// 3. indexOf(): 成员 -> 索引
console.log(str.indexOf('o'))
// 4. replace()替换
console.log(str.replace('love', '爱'))
// 5. substring() ,必须去掉(忽略)结束索引
console.log(str.substr(0,4));
// 6. split: 字符串 -> 数组
console.log(str.split('', 5))
// 7. 大小写 toLowerCase() toUpperCase()
console.log('LOVE'.toLowerCase())
console.log('darren'.toUpperCase())
console.log('--------------------')
// * 数组常用API
// 包括对象在内, 尽量只用字面量来声明
let arr = [1, 2, 3, 4, 5]
// 1. ...rest 压缩与展开
let arr1 = [...arr]
console.log(arr1)
arr = [...arr, 6, 7]
console.log(arr)
console.log('--------------------')
// 2. Array.of 打包
let items = [1, 2, 3, 4, 5, 6]
console.log(Array.of(...items))
console.log('--------------------')
// 3. Array.from(): 类数组(对象) -> 包装成一个真正的数组
const Arr1 = {
0: 'cat',
1: 'dog',
2: 'pig',
length: 3,
}
// 为什么要转为真数组?
// 因为数组上有非常多的方法可以使用
const data = Array.from(Arr1)
console.log(Array.isArray(data) ? 'Array' : 'No Array');
// 遍历
for (let item of data) {
console.log(item)
}
console.log('--------------------')
// 4. every,some: 断言,true /false
// every(): 全部满足条件才返回 true, 否则 false
console.log(arr.every(item => item >= 0)) // true
// some(): 只要有一个满足条件,就返回 true
console.log(arr.some(item => item >= 3)) // true
console.log('----------------------')
// 5. map: 有返回值
// 给个变量接收
let result = arr.map(function (item, key, arr) {
return item * 2
})
console.log(result)