new 一共做了四件事
1.创建临时对象
2.为临时对象绑定原型
3.执行构造函数的代码(为这个对象添加属性)
4.返回新对象
var object = new Object()
自有属性空
object.proto === Object.prototype
var array = new Array('a','b','c')
自有属性 0:'a' 1:'b' 2:'c' length: 2
array.proto === Array.prototype
Array.prototype.proto = Object.prototype
var fn = new Function('x','y','return x+y')
自有属性:length:2 , 不可见的函数体:'return x + y'
fn.proto === Function.prototype
Array is a function
Array = function(){...}
Array.proto = Function.prototype