理解Function(一)

前言:以前一直对 function,对象,引用类型 这些概念很模糊,不是很理解他们究竟是什么关系,最近看书发现有些讲解,就记下来。

Function类型

每个函数都是Function类型的实例(p110),而Function是一种引用类型,且引用类型的值(保存在内存中的对象)就是一个引用类型的实例。

对象是某个特定引用类型实例。新对象是使用new操作符后面跟一个构造函数。构造函数本身就是一个函数,只不过是为创建新对象而定义的,代码:

1 var person=new Function();//Object 、Array等 是原生构造函数(或称原生引用类型)

所以函数其实是对象

所以函数名实际上是指向函数对象的指针

Javascript数据是存在栈内存(stack)和堆内存(heap),堆内存存储javascript对象的具体内容,而栈内存存储对象的地址,下面的代码:

1 var ftn = function(){alert(‘hi’)};
2 alert(ftn);   // var ftn = function(){alert(‘hi’)};
3 alert(ftn()); //hi

总结:funtion函数是Function引用类型的一个实例(注意大小写),function函数是一个对象。

posted @ 2014-04-08 14:33  夏三刀  阅读(106)  评论(0)    收藏  举报