js9

原型修改、重写

1
2
3
4
5
6
7
8
9
10
11
12
function Person(name){
this.name = name
}
Person.pototype.getName = function (){}
var p = new Person('hello')
console.log(p.__proto__ === Person.prototype)
// true
console.log(p.__proto__ === p.constructor.prototype) // true
// 重写原型
Person.prototype = {
getName: funciton() {}
}

获取对象非原型链上的属性

1
2
3
4
5
6
7
function iterate(obj){
var res = []
for(var key in obj){
if(obj.hasOwnProperty(key))
res.push(key+': ' )
}
}

闭包理解

闭包是指有权访问另一个函数作用域中变量的函数