JavaScript基础知识合集

76 阅读1分钟

一、遍历方式集合:

1.for(初始条件:let i=0; 执行条件:i< arr.length; 增量:i++){ 循环体:continue/break } 可随时break循环

2.for(let key in obj){} 对象的遍历,获取对象的键值,结合hasOwnProperty判断该属性是否是对象自身属性而不是继承的属性。key是键值对中的键名。数组中的下标 任意顺序遍历键名,包括排序属性和常规属性,排序属性是数字属性,常规属性是字符串属性。

3.for(let key of obj){} 数组和对象的遍历,key是键值对中的值。具有symbol.interaor接口的就可使用,如Set、Map、String、Array

4.map((v,i,self)=>{ return }) 循环中途无法停止,可返回,将执行结果组成一个新数组返回

5.forEach((v,i,self)=>{ }) 循环中途无法停止,无返回 只能通过try{}catch(e){} 跳出循环 6.filter((v,i,self)=>{ return }) 数组过滤,返回一个符合条件的新数组,不改变原数组 7.Object.keys(obj) 参数是对象,返回的是数组,返回的数组是该对象的自身所有属性,不包括继承类,且可返回的是可枚举的属性和方法的名称。可枚举属性enumerable是Objec的数据属性之一,object还有writable(可修改还是只读)、value(默认值为undefined)、configruable(配置性,delete删除属性,修改属性) 8.Object.getOwnPropertyNames(obj) 返回可枚举和不可枚举的属性和方法的名称。 9.while(执行条件){ 循环体} 先判断条件,符合条件执行循环主体 10.do{} while() 先执行一遍循环主体,然后再判断执行条件,不符合就跳出循环,至少执行一次主体

二、Object相关知识

1.Object.defineProperty(obj,'name',{ value:'wangran', writable: true, 可写性 enumerable: true, 枚举性 configruable: true 配置性 }) 2.Object.getPrototypeOf(obj) 3.Object.setPrototypeOf(obj,{}) 设置一个指定的对象到另一个对象内部 4.Object.hasOwnproperty() 返回布尔值,对象指定属性中是否具有指定的属性 5.Object.create() 创建一个新对象 6.Object.freeze() 禁止更改访问器属性setter和getter