1:理解什么是函数,什么是对象?
函数好说,声明个function(){},即为函数,并且函数是一种对象,通过 fn instanceof Object 返回true 可以知道;
对象是什么?对象就是一组属性或方法的集合(由于方法本质上也是属性,所以可以看成是属性的集合);
function Fun(){
this.a = 1;
this.b = 'y';
}
var obj = new Fun();
明显obj就是个对象,我们可以看到对象是通过函数创建的,是的,没错;
但是还可以这样创建对象, 通过字面量的形式创建。其实这种也可以简单理解为通过new Array(),new Object()创建。
var arr = [1,'c',true];
var li = {name: 'hello', age: 18};
那么问题来了,对象是通过函数创建的,而函数却又是一种对象。。。。
是不是懵逼了,对象和函数到底是什么关系?到底是先有鸡还是先有蛋?
谜底我们慢慢解开。。。