读书人

javascript里的步骤

发布时间: 2012-11-07 09:56:10 作者: rapoo

javascript里的方法

1、公共方法 public

??? 公共方法在对象的上下文中是最终用户始终可能接触到的。这种方法可以通过prototype的属性来实现。prototype包含了一个可以作为副本的base reference的对象,在对象原型中添加的的属性与方法都能由该对象的实例化对象访问,这样就做到了对象方法的公有化

//新建一个Pet构造函数(js没有类,而是构造函数)function Pet(name, type){     this.name = name;     this.type = type;} //为Pet添加一个得到对象名字的方法 Pet.prototype.getName = function(){     return this.name;};//为Pet添加一个得到对象类型的方法 Pet.prototype.getType = function(){     return this.type};//实例化对象var pet = new Pet("tiger","dog");//通过get方法查看刚创建的能对象的属性alert("name = "+pet.getName() + ", type is " + pet.getType());

2、私有方法 private

?? ?私有方法是只允许其内部的其它私有方法/变量,特权方法访问。

//创建一个Person的构造函数function Person(name, salary){//为其添加一个查看薪水的函数function getSalary(){alert("this is secret");}this.name = name;this.salary = salary;//查看一下薪水getSalary();}//实例一个person的对象var person = new Person("barry",10000);try{        //这里调用会出错,这是一个私有的方法,不能被访问        //所以会执行catch里的内容proson.getSalary();}catch (e){alert("这是我的秘密,告诉你!");}

3、特权方法 privileged

?? ?特权方法是指代那些用在查看并处理(对象中)私有变量的同时允许以公共方法的方式访问的方法(John Resig:精通javascript中原文)。

?

//创建一个新的User对象的构造函数function User(name, age){//尝试算出用户出生的年份var year = (new Date()).getFullYear() - age;//创建一个新的特权方法,能够访问year变量,同时自身属于公共可访问的this.getYearBorn = function(){return year;} }//创建user对象的一个新实例var user = new User("Bob",20);//验证返回的年份正确,这里返回truealert(user.getYearBorn() == 1990);//这里我们无法访问它的私有变量,这里返回truealert(user.year == null);
?

4、静态方法

?? ?有个时候,我们不需要通过对象实例的上下文来访问某个属性或方法,而只通过主体对象本身来访问,这时可以通过静态的属性/方法就行了。在js里,静态方法/属性可以在新建构造函数时直接添加。

//给Person加上一个查看出生年月的静态方法Person.getBirth = function(){return "2008-8-8 08:08:08";};//调用这个静态方法alert(Person.getBirthday());

读书人网 >JavaScript

热点推荐