深入理解javascript原型和闭包(2)——函数和对象的关系 - youngperson/study-100 GitHub Wiki

函数就是对象的一种,因为通过instanceof函数可以判断。

var fn = function () { };
console.log(fn instanceof Object);  // true

对象都是通过函数创建的

    function Fn() {
        this.name = 'phper';
        this.year = 1991;
    }
    var fn1 = new Fn();

有些人可能反驳

var obj = { a: 10, b: 20 };
var arr = [5, 'x', true];

这个是一种快捷方式,在编程中叫语法糖。以上代码的本质是:

    //var obj = { a: 10, b: 20 };
    //var arr = [5, 'x', true];

    var obj = new Object();
    obj.a = 10;
    obj.b = 20;

    var arr = new Array();
    arr[0] = 5;
    arr[1] = 'x';
    arr[2] = true;

总结:Object()和Array()都是函数,所以对象都是通过函数创建的。