闭包:变量私有化,不会污染全局变量
init()入口初始化
对象枚举:
for in 循环 查看或修改对象的属性
let obj1 = {
a:123,
b:234,
c:456
}
for(let key in obj1){
console.log(obj1[key]);
obj1[key]++;
console.log(obj1[key]);
}
1. hasOwnProperty
判断属性是自己的还是原型的:返回bool值
任何对象都有这个方法
var obj1 = {
a:123,
b:234,
c:456,
__proto__ : {
lastname: "yuan"
}
}
for(var key in obj1){
if(obj1.hasOwnProperty(key)){ //如果是他自身的方法就返回true,如果不是返回false
console.log(obj1[key]);
obj1[key]++;
console.log(obj1[key]);
}
}
2. in
判断这个对象能不能访问到这个属性,包括原型。
并不能判断这个属性属不属于这个对象
3. instanceof
A instanceof B
官方解释:A 是不是 B构造函数构造出来的,是的话返回true
实际上是看A的原型链上有没有B的原型
call()
call()来改变tihs指向