标签:des style io ar java sp 数据 div on
(也可以通过调用[].slice.call(fakearray)将伪数组转化成真正的数组,但是标题中的方法是通过原型调用,效率非常高,推荐)
原生JS种的常见的伪数组类型有:arguements,调用getElementsByTagName产生的HTMLCollection,document.childNodes,Element类型中的attributes属性中包含的NamedNodeMap类似于Nodelist伪数组对象。
| 1 2 3 4 5 6 7 | varfakeArray01 = {a:‘a‘,b:‘b‘,length:2};//没有length下标对应的值vararr01 = Array.prototype.slice.call(fakeArray01);alert(arr01[0]);//undefined        varfakeArray02 = {0:‘a‘,1:‘b‘,length:‘num‘};//length不是数值vararr02 = Array.prototype.slice.call(fakeArray02);alert(arr02[1]);//undefined | 
即使伪数组被转化成了真正的数组,但是数组中的值都是undeifined.
prototype与[[ptototype]]的理解:
每一个函数都有一个显式的prototype,代表了对象的原型(构造函数所创建出来的对象的原型)。
每个对象都有一个叫做[[prototype]]的内部属性,指向于它所对应的原型对象。
prototype 的根是Object.prototype,Object.prototype 的[[prototype]]的值是NULL;
因为基本数据类型可以说是引用数据类型的子类(只不过是为了提高存取的效率,存放的位置不同),对应的undefined代表了无值的基本呢数据类型,
对应的null代表了无值的引用数据类型,再根据第一句话,可以牵强的推出undefinde是继承自null?
标签:des style io ar java sp 数据 div on
原文地址:http://www.cnblogs.com/pinkpig/p/4050884.html