javaScript 高级语法 - 数组的forEach filter some,Object.defineProperty()添加对象属性与修改对象属性,this指向

1.数组的forEach,filter,some

var numberArray=[1,5,6,3,2,9,7,4,8];
//遍历数组
numberArray.forEach(function (value,index,array) {
  console.log("当前值:"+value+" 当前下标:"+index+" 数组对象本身:"+array);
})

//遍历并且返回一个数组
var numberFilter=numberArray.filter(function (value,index,array) {
  //筛选value大于5的值
  if(value > 5){
    return value;
  }
})

//遍历每个元素 返回boolean类型
var is=numberArray.some(function (value,index,array) {
  return value == 10;
})

 

2.Object.defineProperty()添加对象属性与修改对象属性

作用:在一个对象上定义一个新属性或方法或者修改一个已经存在的属性或方法

function Human(id) {
  this.id=id;
}
var human=new Human(10);
//修改属性
Object.defineProperty(human,"id",{
  value: 20,
  writable: true
})
//添加属性
Object.defineProperty(human,"name",{
  value: "levi",
  writable: true
})

第一个参数:要修改的对象

第二个参数:修改对象的属性名称或方法名称

第三个参数:是一个对象 如下:

{
  value: 设置值或方法,
  writable: 布尔值,是否能被修改,
  enumerable: 布尔值,是否可以被枚举,
  configurable: 布尔值,是否可以被删除或再次修改
}

 

3.this指向

普通函数调用 - window

构造函数调用 - 实例对象,原型对象里面的方法也指向实例对象

对象方法 - 该方法所属对象

事件绑定方法 - 绑定的对象

定时器 - window

立即执行函数 - window

posted on 2023-02-08 13:09  Mikasa-Ackerman  阅读(122)  评论(0编辑  收藏  举报

导航