[转帖]Javascript 中面向对象的思想_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
5
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4136 | 回复: 4   主题: [转帖]Javascript 中面向对象的思想        下一篇 
    本主题由 hui.chen 于 2015-1-28 15:30:31 移动
weiwei.fu
注册用户
等级:上尉
经验:661
发帖:47
精华:0
注册:2013-12-12
状态:离线
发送短消息息给weiwei.fu 加好友    发送短消息息给weiwei.fu 发消息
发表于: IP:您无权察看 2013-12-13 14:13:08 | [全部帖] [楼主帖] 楼主

面向对象的思想可谓是大多数人很受裨益,但是js是一个弱类型的编程语言,其也是一个面向过程的操作,我们在实际的开发中的使用到js的面向对象的模拟,如下所以的一些,个人理解都是一些基本的包装以后过去用户使用,其实其本质的没有做到多少真正意义上的面向对象……
一己之见……
原文摘自 http://blog.csdn.net/wangboxian/article/details/17247333

1  js中一个函数就是一个类,可以将它理解为类的构造函数,负责初始化工作。

2  可以通过new的操作符获得一个类的实例。

例如:

//定义一个hello函数
function hello(){
      alert("hello");
}
//通过new一个函数获得一个对象
var obj=new hello();
alert(typeof(obj));


3 对象的属性和方法

其他语言中,对象一旦生成,就不可更改,要为一个对象添加、修改成员必须要在对应的类中修改,并重新实例化,程序也必须重新编译。JavaScript提供了灵活的机制来修改对象的行为,可以动态添加、修改、删除属性和方法。例如:先用类Object来创建一个空对象user:

var user=new Object();


(1)      获取属性或方法

a)        对象名.属性(方法)名

b)        对象名["属性(方法)名"]

(2)      添加属性

a)        添加属性:

user.name="jack";
user.age=21;
user.sex="male";


b)        添加方法

user.alert=function(){
      alert("myname is:"+this.name);
}


(3)      修改属性和方法

修改一个属性和方法的过程就是用新的属性替换旧的属性,例如:

user.name="tom";
user.alert=function(){
      alert("hello,"+this.name);
}


(4)      删除属性和方法

删除一个属性和方法的过程也很简单,就是将其置为undefined:

user.name=undefined;
user.alert=undefined;


这样就删除了name属性和alert方法。

4 无类型对象

传统的面向对象语言中,每个对象都会对应到一个类。上一节讲this指针时提到,JavaScript中的对象其实就是属性(方法)的一个集合,并没有严格意义上类的概念。所以它提供了一种简单的方式来创建对象,即大括号({})语法:

{
property1:statement,
property2:statement2,
…,
propertyN:statmentN
}


通过大括号括住多个属性或方法及其定义(这些属性或方法用逗号隔开),来实现对象的定义,这段代码就直接定义个了具有n个属性或方法的对象,其中属性名和其定义之间用冒号(:)隔开。

5 prototype原型对象

prototype 对象是实现面向对象的一个重要机制。每个函数(function)其实也是一个对象,它们对应的类是“Function”,但它们身份特殊,每个函数对象都具有一个子对象prototype。即prototype表示了该函数的原型,而函数也是类,prototype就是表示了一个类的成员的集合。当通过 new来获取一个类的对象时,prototype对象的成员都会成为实例化对象的成员。

该贴由hui.chen转至本版2015-1-28 15:30:31




赞(0)    操作        顶端 
weiwei.fu
注册用户
等级:上尉
经验:661
发帖:47
精华:0
注册:2013-12-12
状态:离线
发送短消息息给weiwei.fu 加好友    发送短消息息给weiwei.fu 发消息
发表于: IP:您无权察看 2013-12-13 14:13:31 | [全部帖] [楼主帖] 2  楼

北京联动北方科技有限公司



赞(0)    操作        顶端 
weiwei.fu
注册用户
等级:上尉
经验:661
发帖:47
精华:0
注册:2013-12-12
状态:离线
发送短消息息给weiwei.fu 加好友    发送短消息息给weiwei.fu 发消息
发表于: IP:您无权察看 2013-12-13 14:16:42 | [全部帖] [楼主帖] 3  楼

北京联动北方科技有限公司



赞(0)    操作        顶端 
要不要这么难啊
注册用户
等级:下士
经验:155
发帖:1
精华:0
注册:2015-6-8
状态:离线
发送短消息息给要不要这么难啊 加好友    发送短消息息给要不要这么难啊 发消息
发表于: IP:您无权察看 2015-6-10 9:25:49 | [全部帖] [楼主帖] 4  楼

好东西好东西

北京联动北方科技有限公司



赞(0)    操作        顶端 
hei_nihao
注册用户
等级:少校
经验:1279
发帖:19
精华:0
注册:2015-4-17
状态:离线
发送短消息息给hei_nihao 加好友    发送短消息息给hei_nihao 发消息
发表于: IP:您无权察看 2015-6-24 10:35:04 | [全部帖] [楼主帖] 5  楼

要不要这么难啊 北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
5
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论