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>