ES6要点知识点 总结

apply call bind 用法实例

  • apply执行函数 对象冒充 参数数组
  • call 执行函数 对象冒充 参数单个
  • bind 创建函数 对象冒充 参数默认
			// call  和apply 都是执行函数时 传入this对象冒充
			// var arr=[1,32,3,4]
			// var min=Math.min(...arr);
			// var min=Math.min.call(null,...arr)
			// var max=Math.max.apply(null,arr);
			// alert(min);
			// alert(max);
			
			//bind 创建一个新的函数 并传入this
			function say(a,b){
				console.log(`大家好,我的名字${this.name},今年${this.age}`)
				console.log(a,b,a+b);
			}
			var nsay=say.bind({name:'贝',age:12},12)
			//say通过bind创建一个新的函数  this为bind第一个参数,a的值是12

set map symbol的用法

set特点是一个不重复数组,主要用于对数组去重

  • 初始化 new Set
  • 添加 add()
  • 删除 delete()
  • 获取长度 size
  • 遍历 for of
  • 转换为数组 Array.from()[…]
			// var arr=[1,2,1,3,2,1,4,5];
			// var s1=new Set(arr);
			// arr=[...s1];
			// arr=Array.from(s1);
			// console.log(arr);
			
			
			// var s=new Set([1,22,3,12,31,1,2,3]);
			// console.log(s);
			// console.log('size',s.size);
			// console.log('是否有无',s.has(3));
			// s.add(44);
			// console.log(s);
			// s.delete(1);
			// console.log(s)
			// for (let i of s){
			// 	console.log(i);
			// }

map类似于对象,但与对象又有区别主要区别在于:

  • map键名可以是任意对象,而对象的键名只能是字符串或者symbol符号
  • map是有序的 按默认排序
// 长度 size
// 添加 set
// 获取 get
// remove()
// 变量for of
var obj = {"b":100,"a":"贝","2":"best","1":"good"};
console.log(obj);
var map = new Map([["b",100],["a","贝"],[2,"best"],[1,"good"]])
console.log(map);

symbol 符号特点

  • 主要不重复 唯一
  • 常用于 作用对象的key
			// 初始化 s1=symbol('blue')
			// var obj={[s1]:"贝"};
			// symbol.for('blue')==symbol.for('blue')  true
			// symbol('blue')==symbol('blue') False

for of的用法

var arr=["我爱","我的","祖国"];
			//默认遍历是value
			for (let item of arr){
				console.log(item);
			}
			//keys 键名的集合
			for (let key of arr.keys()){
				console.log(key);
			}
			//value 值的集合
			for (let val of arr.values()){
				console.log(val);
			}
			//entries键与值的结合
			for (let [key,val] of arr.entries()){
				console.log(key,val);
			}

类和继承(class和extends)

  • 类定义 class 类名
  • 初始化类 new 类名()
  • 继承 class 类名 extends
  • 访问控制 set(val)
    get()
  • 调用父类构造函数 super()
  • 静态方法 static
    ES6面向对象写法:
class animals{
				constructor(name) {
				    this.name=name;
				}
				running(){
					console.log('我会走会跑,主人你在哪里')
				}
			}

ES6中面向对象实现类继承

class Dog extends animals{
     
				constructor(name) {
     
				    super(name);
					//this 类的实例
				}
				//构造函数
				bark(){
     
					console.log("汪汪汪")
				}
			}
			var d1=new Dog("大黄");
			var d2=new Dog("旺财");

你可能感兴趣的:(web前端,javascript,jquery,es6,html)