认识原型对象和原型链
在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象 Object 和 函数对象 Function。
一般而言,通过 new Function 产生的对象是函数对象,其他对象都是普通对象。
举例说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
function f1() { // todo } var f2 = function () { // todo }; var f3 =new Function('x', 'console.log(x)');
var o1 = {}; var o2 =new Object(); var o3 =new f1();
console.log( typeof f1, typeof f2, typeof f3, typeof o1, typeof o2, typeof o3 ); > function function functionobject object object |
f1属于函数的声明,最常见的函数定义方式,f2实际上是一个匿名函数,把这个匿名函数赋值给了f2,属于函数表达式,f3不常见,但也是一种函数对象。
Function 是JS自带的对象,f1,f2 在创建的时候,JS会自动通过 new Function() 的方式来构建这些对象,因此,这三个对象都是通过 new Function() 创建的。
在 Javascript 中创建对象有两种方式:对象字面量和使