对象相关
Object.defineProperty(obj,prop,{
value:值 //设置属性的值
writable:true | false //默认为false,确定目标属性是否能更改,一些重要的不能改的属性会用到
enumerable:true | false //默认为false,确定目标属性是否能被枚举,即是否可以被循环遍历到
configurable:true | false 默认为false,确定目标属性是否能被删除更改特性
})
函数相关
函数的3种定义方式
1.function 函数名(){}
2.let a = function(){}
3.let b = new Function('参数1‘,’参数2‘,’函数体‘) //不提倡,理解函数也是对象就可以了
改变函数this指向的三种方法
1.call(this.tar,参数1,参数2…)
2.apply(this.tar,[数组])
3.bind(this.tar,参数1,参数2…) //和前两个的区别是不会调用函数,实际情况中用的比较多