function:
1、function是一个函数
2、function是一个对象,可以利用该对象的constructor属性找到该对象的构造函数
3、一个对象(这个对象必须有值,不能是null,undefined)可以动态的添加任何一个属性
4、一个function同时又是一个构造器函数
5、任何一个对象都有可能成为任何一个对象的属性
/**
* 1 在js中一切皆为对象
* 2 在js中,对象有一个属性为constructor
* 3 在js中,凡是函数都有构造器对象
* 4 在js中,一个对象可以动态的添加任何一个属性
*
*/
//函数的第一种表示方式
function aa(){}
/**
* aa.constructor是一个对象为Function
* 因为aa是通过new Function的形式产生的,所以aa的构造器就是Function
*
*/
alert(aa.constructor);
//函数的第二种表示方式
var a =function(){}
alert(a.constructor);
//函数的第三种表示方式
var aaa=new Function("5","6""var c =a+b");
//给aa对象添加了一个属性为b,值为5
aa.b=5;
alert(aa.b);
//给aa对象添加了一个属性bb,bb为对象,bb的值为 var a = function(){}
aa.bb =a;
aa.bb();
/**
* 扩展
*/
function Person () {
}
function P(){
}
function A(){
}
function B(){
}
Person.a=P;
Person.a.b=A;
Person.a.b.c=B;
Person.a.b.c.d=a;
Person.a.b.c.d();
/**
* Person.bb;
* bb.a=P;
* 所以bb的值为 undefined
*/
Person.bb.a=P;
Person.bb.a();
/**
* 在js中任何一个对象都有可能称为任何一个对象的属性
*/