一:普通对象和函数对象
js中的所有事物都是对象:字符串、数值、数组、函数...
凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象
(1) function f1(){}
(2) var f1 = function(){}
(3) var f1 = function(){"str",'console.log(str)''}
二:原型对象
在JavaScript 中,每当定义一个对象(函数)时候,对象中都会包含一些预定义的属性。其中函数对象的一个属性就
是原型对象 prototype。注:普通对象没有prototype,但有__proto__属性。原型对象其实就是普通对象
(Function.prototype除外,它是函数对象,但它很特殊,他没有prototype属性(前面说道函数对象都有prototype
属性))
原型对象的用途是为每个实例对象存储共享的方法和属性,它仅仅是一个普通对象而已。并且所有的实例是共享同一个原型对象,
因此有别于实例方法或属性,原型对象仅有一份。
function text(){};
console.log(text.prototype) //输出:text{}