这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文主要介绍了 js 面向对象编程的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
// 定义 Circle 类,拥有成员变量 r,常量 PI 和计算面积的成员函数 area()
1. 工厂方式
- var Circle = function() {
- var obj = new Object();
- obj.PI = 3.14159;
- obj.area = function( r ) {
- return this.PI * r * r;
- }
- return obj;
- }
- var c = new Circle();
- alert( c.area( 1.0 ) );
2. 比较正规的写法
- function Circle(r) {
- this.r = r;
- }
- Circle.PI = 3.14159;
- Circle.prototype.area = function() {
- return Circle.PI * this.r * this.r;
- }
- var c = new Circle(1.0);
- alert(c.area());
3.json 写法
- var Circle={
- "PI":3.14159,
- "area":function(r){
- return this.PI * r * r;
- }
- };
- alert( Circle.area(1.0) );
4. 有点变化,但是实质和第一种一样
- var Circle=function(r){
- this.r=r;
- }
- Circle.PI = 3.14159;
- Circle.prototype={
- area:function(){
- return this.r*this.r*Circle.PI;
- }
- }
- var obj=new Circle(1.0);
- alert(obj.area())
Circle.PI = 3.14159; 能够放入属性中写成 this.PI=3.14159;
常用为第一种和第三种
第三种写法的扩展小实例
- var show = {
- btn: $('.div1'),
- init: function() {
- var that = this;
- alert(this);
- this.btn.click(function() {
- that.change();
- alert(this);
- })
- },
- change: function() {
- this.btn.CSS({
- 'background': 'green'
- });
- }
- }
- show.init();
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持 phperz!
来源: http://www.phperz.com/article/17/0528/327577.html