所有的函数都是一个对象,所有的对象,都可以用构造函数创建。
凡是构造函数都是可以new的,也就是说都可以成为对象,这里当然要给Function类型的对象取个名字,它就叫“Function对象”。
函数
function fun(){
// 定义变量时没有使用关键字
var atguigu = "this is atguigu";
// 在函数作用域访问变量
console.log( atguigu );
}
fun();
构造函数----》new成为Function对象
function Fun() {
this.name = '小王';//定义属性
this.age = '18';//定义属性
this.fn = function () {
return 1999;
}
}
对象
var obj1 = {
name : '手速快',//属性
age : 27,//属性
fun :function () {//方法
return 10;
}
}
console.log(obj1);
你是需要两者的定义吗?其实你问的这两个东西,在所有的程序设计语言中,几乎都是存在的;
对象:它是一个客观存在的实体,就好像我们“人类”,还有什么“商店”、“学校”等等,这些东西都是客观存在的实际物体,可以理解为对象
函数:你可以这样理解,它相当于一个“工具包”,当然你也可以认为工具包是一个对象,但它们却还是有区别,对象和“工具包”所强调的侧重点不同,对象强调的是物体本身,那么少不了“属性”,如颜色、状态等等,而这个“工具包”可不是强调这些了哦,你不能说工具包什么颜色的,什么材料做成的,而你只能说:
工具包中有改锥、螺丝、钻头等等工具,这些工具具有很多“功能”,这就是函数强调的重点了,它具有什么样的“功能”
* 函数本身就是对象:
function Person(){};
Person.name = 'xx'; //为对象添加属性;
* 对象可以通过函数创建
var obj = new Person();