1、for...in:用于遍历数组或对象的属性。
for(var prop in obj){console.log(obj[prop])}; 该循环遍历对于对象属性是无序的,可能是因为obj本来就是无序的。
2.Object.defineProperty(obj, prop, descriptor):可新曾对象属性或修改对象已有的属性。
obj:目标对象;
prop:对象需要新增或修改的属性;
descriptor:目标属性所拥有的特性;
var Animal = {
name:'cat'
}
Object.definePorperty(Animal, name, {
configurable:true | false, //设置该属性的特性是否可以配置(包括是否能删除和再次配置)
enumerable: true | false, //设置name属性是否可枚举
value:任意类型的值,
writable:true | false //设置name的value是否可修改。
})
一旦不设置属性的特性,则全部默认为false。
3、splice作用
array.splice(索引,数量);其中索引为开始切除的索引位置,数量为切除多少个元素。
arr = [1,2,3,4,5,6];
var num = arr.splice(2,1);
console.log(num); //输出 [3],类型为数组,也就是说返回一个数组
console.log(arr); //输出[1,2,4,5,6],原来的arr数组被改变
4.reduce()的功能
reduce(func,initValue):func是一个累加器方法,对数组的元素进行逐一累加,initValue为传递给reduce的初始值。
var arr = [1,2,3,4,5];
function addItem(total, num) {
return total+num;
}
var result = arr.reduce(addItem); // 15;
当然也可以在addItem方法里对num进行进一步的处理。
5.substring和substr
1)当参数只有一个的时候,两者的作用是一样的:截取从参数索引位置到字符串最后的字符串片段。
例如:‘abcdefg’.substr(3) //defg,substring也是一样的输出。
2)当参数为两个的时候,两者的作用不一样
substr(a,b),a表示索引位置,b表示截取的长度;
substring(a,b),a表示索引位置,b表示索引位置;(注:区间为[a,b) )