javascritp第十课:面向对象

时间:2023-09-11 15:10:08

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) {   //传入变量值
this.Name = name; //赋值
this.Age = age;
this.sayhello = function () { //创建一个匿名函数,赋值给当前函数一个值
alert('我的名字叫'+this.Name+'我的年龄'+this.Age); //使用变量
}
}

var per = new person('周杰伦', 18);  //创建对象,传入参数
per.sayhello();//使用对象,调用对象中的方法