碎碎念:已经有好多天都没有看书,今天继续往下看。把之前的都巩固一下。
prototype class
/**
* 判断o类属性
* @param {[type]} o [description]
* @return {[type]} [description]
*/
function classof(o) {
if (o === null) {
return 'NULL';
}
if (o === undefined) {
return 'Undefined';
}
return Object.prototype.toString.call(o).slice(8, -1);
}
Object.defineProperty
属性的特性,只能为true,false
var a= [1,2,3];
Object.defineProperty(a,'length',{
writable:false//不可写
})
a.lenght =0;
a//[1,2,3]
Array
- 数组使用负数或者非整数来索引数组,将会创建字符串类型数值的属性。
var test =[];
test['a']=true;
test.a //true
- 稀疏数组 :包含从0开始的不连续索引的数组,不可枚举不存在值,比较少碰到。碰到时注意
undefined
值 - 数组中
length
代表数组中元素个数,如果是稀疏数组,length
将大于元素个数 - 使用
length
删除数组 - 稀疏数组可以使用 for/ in 循环处理
var a = [1,2,3,4,5]
a.length = 0 ;
a//[];
- 数组的添加方法
-length
>array
长度
-push
: 数组末尾添加
-unshift
: 数组头部添加 - 删除元素
length
: 设值delete:
删除,但是不会影响数组的长度。使用delete删除的数组,就会变成稀疏数组pop
: 数组末尾删除,length 减1shift
: 数组头部删除
数组方法
- join
- split
- reeverse
- sort
- contact
- slice:返回指定数组的一个片段或者数组
slice(start,end)
- splice:插入或删除元素通用方法
- push
- pop
- unshift
- shift
- toString
- toLocaleString
- forEach
- map
- filter
- every
- some
- reduce
- reduceRight
- indexOf
- lastindexOf
- -
参考资料
- Array.prototype
本文内容均属于外文整理收集,加上自己理解书写。内容并未亲自实践验证,因此,不能保证100%正确,仅供大家学习参考。
如果文中有什么表述不准确的地方,欢迎大力指正,感谢阅读,欢迎交流!