1 <script type="text/javascript">
2
3 //当编写方法代码的时候,如果这个方法将来只是作为一个普通的方法来调用,那么就遵循“骆驼命名法”,第一个单词首字母小写,以后的每个单词首字母大写。
4 //如果这个方法是用来创建的对象的,那么就是用“帕斯卡命名法”,每个单词的首字母都大写。
5
6 function Person() {
7
8 }
9
10 //对于一个方法如果直接调用,那么就认为是一个普通的方法,
11 var p=Person(); //表示直接调用Person()方法
12
13 var p = new Person(); //通过new关键字调用Person()方法,表示创建一个Person类型的对象。
14 // 如果没有该属性,会自动创建该属性
15 p.name = '朱海桥';
16 p.age = 18;
17 p.email = 'zhq@163.com';
18
19 p.sayHi = function () {
20 alert('我是:' + this.name + ',今年:' + this.age + '岁了,邮箱是:' + this.email);
21 };
22
23 p.sayHi();
24
25
26
27 //-----------------创建一个Person构造函数-------------------
28 function Person(name, age, email) {
29 //this 指Person
30 this.user_name = name;
31 this.user_age = age;
32 this.user_email = email;
33
34 this.sayHi = function () {
35 alert(this.user_name + ' ' + this.user_age + ' ' + this.user_email);
36 };
37
38 // 在当前构造函数中增加一个私有的成员
39 var _gender;
40
41 //为_gender这个"私有"成员封装两个公有的方法
42 this.get_gender = function () {
43 return _gender;
44 };
45 //设置值的方法
46 this.set_gender = function (gender) {
47 if (gender == '男' || gender == '女') {
48 _gender = gender;
49 } else {
50 alert('性别有误!');
51 }
52 };
53
54 }
55
56
57 var mll = new Person('张三', 22, 'mll@yahoo.com');
58 mll.set_gender('男');
59
60 alert(mll.get_gender());
61
62 mll.sayHi();
63
64
65
66 </script>