第六章 prototype和constructor
首先我们看下面一段代码(第六章 01.htm)
function myfun() //定义一个函数myfun
{
};
console.log(typeof (myfun.prototype));
console.log(typeof (myfun.prototype.constructor));
console.log(myfun.prototype.constructor);
输出的结果分别为
object
function
function myfun() //定义一个函数myfun
{
};
这里我们可以看出,函数本身也具备对象的特征,每一个函数都包含一个默认的的对象prototype;
constructor又是prototype对象的一个属性,这个属性的类型是函数,并且指向myfun,也就是自身
我们再看接下来一段代码
function myfun() //定义一个函数myfun
{
};
myfun.say="hello word";
console.log(myfun.say);
输出结果:
hello word
总结:函数是有对象属性的,并且每个函数都有一个特殊的属性prototype,prototype又有一个属性constructor指向函数本身