首页 > 代码库 > Javascript 面向对象编程
Javascript 面向对象编程
来源:http://coolshell.cn/articles/6441.html
Javascript是一个类C的语言,他的面向对象的东西相对于C++/Java比较奇怪,但是其的确相当的强大,在 Todd 同学的“对象的消息模型”一文中我们已经可以看到一些端倪了。这两天有个前同事总在问我Javascript面向对象的东西,所以,索性写篇文章让他看去吧,这里这篇文章主要想从一个整体的角度来说明一下Javascript的面向对象的编程。(成文比较仓促,应该有不准确或是有误的地方,请大家批评指正)
另,这篇文章主要基于 ECMAScript 5, 旨在介绍新技术。关于兼容性的东西,请看最后一节。
初探
我们知道Javascript中的变量定义基本如下:
var name = ‘Chen Hao‘;;var email = ‘haoel(@)hotmail.com‘;var website = ‘http://coolshell.cn‘;
如果要用对象来写的话,就是下面这个样子:
var chenhao = { name :‘Chen Hao‘, email : ‘haoel(@)hotmail.com‘, website : ‘http://coolshell.cn‘};
于是,我就可以这样访问:
//以成员的方式chenhao.name;chenhao.email;chenhao.website; //以hash map的方式chenhao["name"];chenhao["email"];chenhao["website"];
关于函数,我们知道Javascript的函数是这样的:
var doSomething = function(){ alert(‘Hello World.‘);};
于是,我们可以这么干:
1 var sayHello = function(){ 2 var hello = "Hello, I‘m "+ this.name 3 + ", my email is: " + this.email 4 + ", my website is: " + this.website; 5 alert(hello); 6 }; 7 8 //直接赋值,这里很像C/C++的函数指针 9 chenhao.Hello = sayHello;10 11 chenhao.Hello();
Javascript 面向对象编程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。