常见的代码

JS数组方法详解
Array.map()
//返回一个新数组,数组中的元素为原始数组元素调用函数后处理的值
let arr = [1, 2, 3, 4]
	arr.map( v=> v*2 )    // [2, 4, 6, 8]

数组的深拷贝

var data1 = [];
var data2 = JSON.parse(JSON.stringify(data1));
改变data1不会影响data2
filter()过滤
[1,2,3,4].filter(a => a>2)
//  [3, 4]
Array.forEach()
//遍历数组
 let arr = [1, 2, 3, 4]
	arr.forEach( v => {
		console.log(v)   // 1 2 3 4
   })
数组的合并去重
...展开运算符和new Set()  展开运算符也能用于对象
let arr1 = [1,2,3,4,2]
let arr2 = [1,23,4, 5]
new Set(arr1)   // {1, 2, 3, 4}
[...new Set(arr1)] // [1,2,3,4] 相当于展开放在一个数组中了
//数组的合并去重
[...new Set([...arr1, ...arr2])] //[1, 2, 3, 4, 23, 5]
面试题
// 淘宝首页用了多少种标签 面试题
// querySelectorAll() 返回的是一个nodeList 并不是数组  new Set().size 返回的他的长度
new Set([...document.querySelectorAll('*')].map(v=>v.nodeName)).size
对象的用法
// 对象的遍历
let obj1 = {
	name: 'zz',
	age: 18
}
Object.keys(obj1).forEach(v => {
	console.log(v, obj1[v])
})  // name zz  age 18

对象的合并
let obj2 = {
	newNmae: 'mdzz'
}
{...obj1, ...obj2,  sex: 'male'}
ES6 Class

ES6引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类

class Point() {
	constructor(x, y) {
	 this.x = x
	 this.y = y
	}
	toString() {
	  return this.x + this.y
	}
}
var point = new Point(2, 3)
point.toString() //5

先定义了一个Point类,里面还有一个constructor函数,这个就是构造函数,而this关键字则代表实例对象

Class之间可以通过extends关键字实现继承

在类的继承中,子类的构造方法中默认会有super()语句存在,相当于执行父类的相应构造方法中的语句
super可以访问父对象的函数,指代了整个prototype或者__proto__指向的对象

Class ColorPoint extend Point{
	constructor(x, y, color){
		super(x,y) //等同于super.constructor(x,y)  用在构造函数中,必须在使用this之前调用
		this.color = color
	}
	 toString() {
        return this.color + '' + super();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值