JavaScript中面向对象!

 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 = ‘[email protected]‘;
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, ‘[email protected]‘);
58         mll.set_gender(‘男‘);
59
60         alert(mll.get_gender());
61
62         mll.sayHi();
63
64
65
66 </script>
时间: 2024-11-08 17:56:42

JavaScript中面向对象!的相关文章

JavaScript中面向对象那点事

鉴于自己在JavaScript这方面比较薄弱,所以就找了一本书恶补了一下(被称为犀利书的JavaScript权威指南).书的内容虽然多了点,但这也充分说明了js中的东西还是挺多的.虽然我们的定位不是前端,但最好还是了解一下js这个发展了将近20年但依然很火的技术. 两年前,写过一篇关于JavaScript闭包的博客,所以对闭包这个词印象很深,在看这书的时候,又看到了闭包,那么这次再看闭包,会有什么不同的理解呢? 大家都知道,在JavaScript中是没有类的概念的,更没有私有.公有的成员变量这样

(转载)JavaScript中面向对象那点事

鉴于自己在JavaScript这方面比较薄弱,所以就找了一本书恶补了一下(被称为犀利书的JavaScript权威指南).书的内容虽然多了点,但这也充分说明了js中的东西还是挺多的.虽然我们的定位不是前端,但最好还是了解一下js这个发展了将近20年但依然很火的技术. 两年前,写过一篇关于JavaScript闭包的博客,所以对闭包这个词印象很深,在看这书的时候,又看到了闭包,那么这次再看闭包,会有什么不同的理解呢? 大家都知道,在JavaScript中是没有类的概念的,更没有私有.公有的成员变量这样

好程序员前端学习路线分享模拟JavaScript中面向对象技术

好程序员前端学习路线分享模拟JavaScript中面向对象技术,在C#和Java语言中,面向对象是以类的方式实现的,特别是继承这个特性,类的方式继承表现出了强大的功能,而且也易于学习.JavaScript不是纯的面向对象的语言,而是基于对象的语言,对象的继承是以原型函数的形式继承的,很多初学者刚开始接触的时候不太理解,但是JavaScript这种以原型函数的形式实现面向对象技术,不仅是可行的,而且还为面向对象技术提供了动态继承的功能,本文主要讨论了JavaScript的面向对象技术.?一.原型对

javascript 中面向对象实现 如何继承

继承,同样不是真正严格意义上面向对象的继承,而是通过javascript中的原型链关系实现函数之间的属性,方法共享.下面简单分享几种封装的方法. 既然说到继承,我们必须有一个基类 1 2 3 4 5 6 7 8 9 function Person(){ this.eat=function(){ return '吃食物'; } } Person.prototype.sport=function(){ return '运动'; } Person 这个基类包含了2个属性,吃和运动.但是奇怪的是在构造函

浅谈Javascript中面向对象之对象

一.对象 1.1创建对象 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.一个简单的对象创建: var People = { name : "eavan", age : 24, getName : function(){ alert(this.name); //eavan } } 使用的时候就可以用People.name,获取People这个对象的name属性,或者是People.getName()来得到People的name值.另一

JavaScript中面向对象的的深拷贝和浅拷贝

理解深拷贝和浅拷贝之前需要弄懂一些基础概念,内存中存储的变量类型分为值类型和引用类型. 1.值类型赋值的存储特点, 将变量内的数据全部拷贝一份, 存储给新的变量. 例如:var num = 123 :var num1=num; 表示变量中存储的数字是 123.然后将数据拷贝一份,就是将 123 拷贝一份. 那么内存中有 2 个 数组;将拷贝数据赋值给 num2,其特点是在内存中有两个数据副本.这可以理解为浅拷贝. 2.引用类型的赋值. var o={name:'张三‘}: var obj=o;

前端开发:面向对象与javascript中的面向对象实现(一)

前端开发:面向对象与javascript中的面向对象实现(一) 前言: 人生在世,这找不到对象是万万不行的.咱们生活中,找不到对象要挨骂,代码里也一样.朋友问我说:“嘿,在干嘛呢......”,我:“找不到对象!”,他:“就你那样也能找得到对象?”.我一脸黑线...... 废话不多说,今天博主要跟大家聊的是<面向对象与javascript中的面向对象实现>”. 面向对象理解: 面向对象是一种对现实世界理解和抽象的方法,是一种先进的程序设计理念,是一种比较抽象的,多形态的设计模式.我们可以这么理

深入理解javascript中实现面向对象编程方法

介绍Javascript中面向对象编程思想之前,需要对以下几个概念有了解: 1. 浅拷贝和深拷贝:程序在运行过程中使用的变量有在栈上的变量和在堆上的变量,在对象或者变量的赋值操作过程中,大多数情况先是复制栈上的信息,这样就会出现以下情况,如果变量是对象,那么这一操作,复制的只是真正对象所在 的堆内存空间的起始地址,这就是所谓的浅拷贝,如果是深拷贝,则是在内存堆空间中重新分配一个内存,并把分配的内存的起始地址复制过去. 2. 引用类型数据和值类型数据:谈到引用类型数据和值类型数据,自然而然的联想到

javascript 的面向对象特性参考

最近在看用javascript+css实现rich client.javascript 也是一个蛮有意思的语言.特别是其面向对象的实现和其他“标准”的OO launguage有很大的不同.但是,都是动态语言,我还是觉得它比起python语法和库都差得太远.可是没有explorer支持python开发 啊...:( 这是我学习javascript中面向对象特性的一点总结.希望对具有其他语言的面向对象设计经验的朋友理解javascript的OO有所帮助.我具有c++,java和python的面向对象