js知识点记录

时间:2023-01-16 15:09:44

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)     )