最近看书发现Object的使用,能用作普通函数,又能用作构造函数,还能直接调用所谓的Object对象的方法。
很疑惑Object到底是函数还是对象或者皆是?

解决方案 »

  1.   

    1,准确的说,Object是一个构造函数。
    2,javascript中内置固有的构造函数都是可以不用new的。这就可以当成普通函数来使用。
    3,javascript中的函数也是对象,可以和其它对象一样传递引用,访问属性。
    4,Object是一个全局函数,所有的全局函数都是window对象的方法,就和所有的全局变量都是window对象的属性一样。
      

  2.   

    可以这么理解:javascript是基于(不是)面向对象的脚本语言,es6提供了class语法糖,
      

  3.   

    TypeScript会更有规范
      

  4.   

    js不同于其他静态语言,js里的函数也是对象,一切皆对象,但对象却不一定是函数