项目中,我们经常会直接使用Object.prototype.toString用来做类型判断。他基本是几种方法里可以开箱即用、且判断类型最完善了。现在我们来扒皮一下他。具体原理在toString方法被调用时,会执行以下几个操作步骤~获取this指向的那个对象的[[Class]]属性的值。(这也是我们为什么要用call改变this指向的原因)计算出三个字符串"[object"、第一步的操作结果Result(1)、以及"]"连接后的新字符串。返回第二步的操作结果Result(2),也就是类似[object className]这种格式字符串。[[Class]]类属性对象的类属性(classattri
项目中,我们经常会直接使用Object.prototype.toString用来做类型判断。他基本是几种方法里可以开箱即用、且判断类型最完善了。现在我们来扒皮一下他。具体原理在toString方法被调用时,会执行以下几个操作步骤~获取this指向的那个对象的[[Class]]属性的值。(这也是我们为什么要用call改变this指向的原因)计算出三个字符串"[object"、第一步的操作结果Result(1)、以及"]"连接后的新字符串。返回第二步的操作结果Result(2),也就是类似[object className]这种格式字符串。[[Class]]类属性对象的类属性(classattri
一、什么是vector?向量(Vector)是一个封装了动态大小数组的顺序容器(SequenceContainer)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。二、容器特性1.顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。2.动态数组支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。提供了在序列末尾相对快速地添加/删除元素的操作。3.能够感知内存分配器的(Allocator-aware)容器使用一个内存分配器对象来动态地处理它的存储需求。三、基本函数实现1.构造函数v
一、什么是vector?向量(Vector)是一个封装了动态大小数组的顺序容器(SequenceContainer)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。二、容器特性1.顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。2.动态数组支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。提供了在序列末尾相对快速地添加/删除元素的操作。3.能够感知内存分配器的(Allocator-aware)容器使用一个内存分配器对象来动态地处理它的存储需求。三、基本函数实现1.构造函数v