一.原型
原型: 原型也叫作“原型对象”,任何一个js对象都有与之对应的原型
获取对象的原型:对象 _proto_
比如构造函数Tank,new一个实例对象t,求实例对象t的原型:t._proto_得到{constructor...}
对于对象{constructor...}再对它constructor,得到构造函数Tank,而对构造函数Tank求原型对象得到{constructor...},所以我们可以得到以下关系:
对象._proto_==函数.prototype
对象._proto_.constructor==函数
对象._proto_.constructor=函数.prototype.constructor
获取对象原型:函数.prototype
二.原型链
通过对象的__proto__属性一级一级向上查找得到一个有_proto_构成的链条,这个链条就是原型链。
原型链的终点是object的原型
Object是所有对象的顶层构造函数,即所有的对象都可以看做是由Object创建的
instanceof用来判断一个实例对象是否是构造函数的实例
三.set以及set的应用
set的应用:
<script>
//Set中数据不会重复
var s = new Set([1,2,3,4,5,6])
s.add(1); //添加元素到 set,1存在添加不上
//s.delete(3); //从set删除元素,
if( s.has(2) ){ //判断某个元素是否在set中
console.log('2存在');
}
s.forEach((item,index)=>{
console.log(item,index);
})
// s.clear(); //清空 set
console.log(s);
console.log(s.size);
</script>
set去重:
//数组去重
var arr = [1,2,3,4,4,3,2,1];
//写法一
var s = [...new Set(arr)];
console.log(s);
//写法二
var s = Array.from( new Set(arr) )
console.log(s);
Map:
<script>
//Map是种数据结构,类似对象
var m = new Map();
m.set('name','李煜');
//向map结构 添加数据
m.set('age',30);
m.set('sex',false);
console.log( m.get('name') , m.get('age') , m.get('sex') );
//从map结构中获取数据
console.log( m.has('age') );
m.forEach((item,key)=>{
console.log(item,key);
})
console.log(m);
</script>
本文含有隐藏内容,请 开通VIP 后查看