js中的函数就是对象,对象就是函数,当js中需要使用面向对象,使用js闭包模拟面向对象,当函数作为对象使用时,每个单词首字母都大写
var obj=new object(); //js中默认就是object函数,因此,这里不需要自定一个函数,即可new成一个对象
obj.name="张三"; //不需要object()方法中有属性,这里也可以直接创建变量和赋值
var per=new person(); //这里如果直接new一个对象就会出错,提示person未定义,因为js中没有此函数,因此需要先创建一个person函数 function person(){};
per.name="人员"; //直接使用对象"点"出属性,并且直接赋值,
或者可以用下面这种方式
function person(name,age) { //传入两个参数
this.name = ‘张三‘;
//给参数赋值
this.age = 20; //给参数赋值
}
var per = new person(); //实例化对象
var m = per.name; //赋值给变量m
var a = per.age; //赋值给变量a
alert(‘名字是‘ + m + "年龄是" +
a); //使用变量
闭包实现面向对象
function person(name, age, sayhello) { //传入变量值
this.Name
= name; //赋值
this.Age = age;
this.sayhello = function ()
{ //创建一个匿名函数,赋值给当前函数一个值
alert(‘我的名字叫‘+this.Name+‘我的年龄‘+this.Age);
//使用变量
}
}
var per = new person(‘周杰伦‘, 18);
//创建对象,传入参数
per.sayhello();//使用对象,调用对象中的方法